/* Infografis page styles. Extracted from templates/desa/infografis.html. */
/* ══════════════════════════════════════════════
   DESIGN TOKENS
══════════════════════════════════════════════ */
:root {
  --ih-green:      #166534;
  --ih-green-dark: #14532d;
  --ih-green-lt:   #dcfce7;
  --ih-green-mid:  #bbf7d0;
  --ih-green-pale: #f0fdf4;
  --ih-amber:      #f59e0b;
  --ih-amber-lt:   #fef3c7;
  --ih-red:        #dc2626;
  --ih-red-lt:     #fee2e2;
  --ih-blue:       #1d4ed8;
  --ih-blue-lt:    #dbeafe;
  --ih-bg:         #f8fafc;
  --ih-surface:    #ffffff;
  --ih-border:     #e2e8f0;
  --ih-border-md:  #cbd5e1;
  --ih-text:       #0f172a;
  --ih-text-2:     #334155;
  --ih-text-3:     #64748b;
  --ih-text-4:     #94a3b8;
  --ih-r-sm:       4px;
  --ih-r:          6px;
  --ih-r-lg:       8px;
  --ih-r-xl:       8px;
  --ih-shadow-sm:  0 1px 2px rgba(15,23,42,.04);
  --ih-shadow:     0 6px 18px rgba(15,23,42,.06);
  --f-sans: 'DM Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

/* ══════════════════════════════════════════════
   SKELETON SHIMMER
══════════════════════════════════════════════ */
@keyframes ih-shimmer {
  0%   { background-position: -600px 0; }
  100% { background-position:  600px 0; }
}
.ih-sk {
  border-radius: 6px;
  background: linear-gradient(90deg,#f1f5f9 25%,#e2e8f0 50%,#f1f5f9 75%);
  background-size: 600px 100%;
  animation: ih-shimmer 1.4s infinite ease-in-out;
}
.ih-sk-h8  { height:8px; }
.ih-sk-h10 { height:10px; }
.ih-sk-h12 { height:12px; }
.ih-sk-h14 { height:14px; }
.ih-sk-h20 { height:20px; }
.ih-sk-h32 { height:32px; }
.ih-sk-h48 { height:48px; }
.ih-sk-h260{ height:260px; }
.ih-sk-h320{ height:320px; }
.ih-sk-r   { border-radius:99px; }
.ih-sk-full{ width:100%; }
.ih-sk-w40 { width:40%; }
.ih-sk-w60 { width:60%; }
.ih-sk-w70 { width:70%; }
.ih-sk-w80 { width:80%; }

#ih-skeleton-overlay {
  display:none; position:fixed; inset:0; z-index:9998;
  background:var(--ih-bg); overflow-y:auto; padding:80px 0 60px;
}
#ih-skeleton-overlay.visible { display:block; }
.ih-sk-inner { max-width:1200px; margin:0 auto; padding:0 32px; }
.ih-sk-hero { background:#fff; border-radius:0; padding:48px 32px 32px; margin-bottom:0; }
.ih-sk-pill-row { display:flex; gap:8px; margin-bottom:28px; }
.ih-sk-pill { height:36px; border-radius:99px; flex-shrink:0; }
.ih-sk-stat-grid { display:grid; grid-template-columns:1.18fr 1fr 1fr 1fr; gap:12px; margin-bottom:24px; }
.ih-sk-stat { border-radius:16px; padding:20px 22px; }
.ih-sk-stat-rows { display:flex; flex-direction:column; gap:10px; }
.ih-sk-tabs { display:flex; gap:6px; margin-bottom:0; }
.ih-sk-tab  { height:38px; border-radius:99px; flex-shrink:0; }
.ih-sk-card { border-radius:16px; border:1px solid var(--ih-border); background:#fff; padding:24px; margin-bottom:16px; }
.ih-sk-kpi  { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin-bottom:24px; }
.ih-sk-kpi-cell { border-radius:12px; padding:20px; background:#fff; border:1px solid var(--ih-border); }

#ih-transition {
  position:fixed; inset:0; z-index:9999;
  background:#fff; pointer-events:none;
  opacity:0; transition:opacity .2s ease;
}
#ih-transition.active { opacity:1; pointer-events:all; }

/* ══════════════════════════════════════════════
   BASE
══════════════════════════════════════════════ */
.ih { font-family:var(--f-sans); color:var(--ih-text); line-height:1.6; background:var(--ih-bg); }
.ih button,
.ih input,
.ih select,
.ih textarea {
  font-family:var(--f-sans);
}
.ih *, .ih *::before, .ih *::after { box-sizing:border-box; }
.ih p, .ih h1, .ih h2, .ih h3 { margin:0; }
.ih-wrap { max-width:1180px; margin:0 auto; padding:0 32px; }
.ih-body {
  background:var(--ih-bg);
  padding-bottom:72px;
}

@keyframes ihReveal {
  from { opacity:0; transform:translateY(6px); }
  to   { opacity:1; transform:none; }
}
.ih-reveal { animation:ihReveal .32s ease both; }
.ih-d1 { animation-delay:.05s; }
.ih-d2 { animation-delay:.10s; }
.ih-d3 { animation-delay:.15s; }
.ih-d4 { animation-delay:.20s; }
.ih-d5 { animation-delay:.25s; }

@keyframes countUp {
  from { opacity:0; transform:translateY(4px); }
  to   { opacity:1; transform:none; }
}
.ih-kpi-num { animation:countUp .4s ease both; }
canvas { animation:ihReveal .5s ease .2s both; }

/* ══════════════════════════════════════════════
   HERO
══════════════════════════════════════════════ */
.ih .pub-page-hero,
.ih .pub-page-kicker,
.ih .pub-page-title,
.ih .pub-page-lead,
.ih .ih-label,
.ih .ih-section-note,
.ih .ih-demo-eyebrow,
.ih .ih-demo-intro h2,
.ih .ih-card-title,
.ih .ih-card-desc,
.ih .infographic-hero__tab,
.ih .ih-kpi-lbl,
.ih .ih-kpi-num,
.ih .ih-kpi-unit {
  font-family:'DM Sans', var(--f-sans);
}
#landing-root .infographic-page-hero {
  min-height:auto;
}
#landing-root .infographic-page-hero .pub-page-hero-content {
  padding:1.65rem 1.25rem 2rem;
}
#landing-root .infographic-page-hero .pub-page-kicker {
  margin-bottom:.8rem;
}
#landing-root .infographic-page-hero .pub-page-title {
  font-size:clamp(1.65rem,2.6vw,2.2rem);
  line-height:1.08;
  letter-spacing:0;
  margin:0 0 .7rem;
  text-align:center;
}
#landing-root .infographic-page-hero .pub-page-lead {
  max-width:760px;
  margin:0 auto;
  text-align:center;
  font-size:clamp(.95rem,1.15vw,1.08rem);
  line-height:1.6;
}
.infographic-page-hero__logo {
  display:flex;
  justify-content:center;
  margin:0 auto .65rem;
}
.infographic-page-hero__logo img,
.infographic-page-hero__logo span {
  width:64px;
  height:auto;
  max-height:64px;
  border-radius:0;
  object-fit:contain;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:none;
}
.infographic-page-hero__logo span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  height:64px;
  font-size:24px;
  filter:none;
}
.infographic-nav-wrap {
  background:#fff;
  border-bottom:1px solid var(--ih-border);
  box-shadow:0 1px 0 rgba(15,23,42,.03);
}
.infographic-nav-wrap .ih-wrap {
  padding-top:18px;
  padding-bottom:18px;
}
.infographic-hero {
  background:#fff;
  border-bottom:1px solid var(--ih-border);
  padding:44px 0 0;
}
.infographic-hero__badge-row {
  display:flex; align-items:center;
  justify-content:space-between; gap:16px;
  margin-bottom:18px; flex-wrap:wrap;
}
.infographic-hero__badge {
  display:inline-flex; align-items:center; gap:7px;
  font-size:11px; font-weight:600;
  letter-spacing:.07em; text-transform:uppercase;
  color:var(--ih-green); background:var(--ih-green-lt);
  border:1px solid var(--ih-green-mid);
  border-radius:99px; padding:5px 14px; white-space:nowrap;
}
.infographic-hero__badge::before {
  content:''; width:6px; height:6px;
  background:var(--ih-green); border-radius:50%; flex-shrink:0;
}
.infographic-hero__verified {
  display:inline-flex; align-items:center; gap:6px;
  font-size:11px; font-weight:500; color:var(--ih-text-3);
  background:var(--ih-bg); border:1px solid var(--ih-border);
  border-radius:99px; padding:5px 13px; white-space:nowrap;
}
.infographic-hero__verified svg {
  width:13px; height:13px; color:var(--ih-green); flex-shrink:0;
}
.infographic-hero__title {
  font-size:clamp(22px,3vw,30px); font-weight:700;
  color:var(--ih-text); line-height:1.2;
  letter-spacing:0; margin:0 0 6px;
}
.infographic-hero__title span { font-weight:400; color:var(--ih-text-3); }
.infographic-hero__meta {
  display:flex; align-items:center; gap:10px;
  flex-wrap:wrap; font-size:12px; color:var(--ih-text-4); margin-top:2px;
}
.infographic-hero__meta--hero {
  justify-content:center;
  color:rgba(255,255,255,.8);
  margin:.95rem auto 0;
  max-width:780px;
}
.infographic-hero__meta-dot {
  width:3px; height:3px; background:var(--ih-border-md);
  border-radius:50%; flex-shrink:0;
}
.infographic-hero__meta b { font-weight:600; color:var(--ih-text-3); }
.infographic-hero__meta--hero b { color:#fff; }
.infographic-hero__meta--hero .infographic-hero__meta-dot {
  background:rgba(255,255,255,.42);
}

/* Stats */
.infographic-hero__stats {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px; margin-top:0; padding-top:0;
}
.infographic-hero__stat {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:var(--ih-bg); padding:16px 18px 15px;
  min-height:112px;
  transition:border-color .18s, transform .18s;
}
.infographic-hero__stat:hover {
  border-color:var(--ih-green-mid); transform:translateY(-2px);
}
.infographic-hero__stat--primary {
  background:var(--ih-green); border-color:var(--ih-green);
}
.infographic-hero__stat--primary:hover { border-color:var(--ih-green-dark); }
.infographic-hero__stat-label {
  font-size:10px; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--ih-text-4); margin-bottom:9px; display:block;
}
.infographic-hero__stat--primary .infographic-hero__stat-label { color:#86efac; }
.infographic-hero__stat-value {
  font-size:28px; font-weight:800; letter-spacing:0;
  color:var(--ih-text); line-height:1; display:block;
}
.infographic-hero__stat--primary .infographic-hero__stat-value { color:#fff; font-size:30px; }
.infographic-hero__stat-unit {
  font-size:12px; color:var(--ih-text-4); font-weight:400;
  margin-top:5px; display:block;
}
.infographic-hero__stat--primary .infographic-hero__stat-unit { color:#86efac; }

/* Tabs */
.infographic-hero__tabs {
  display:flex; gap:8px; margin-top:0;
  overflow-x:auto; scrollbar-width:none;
  -webkit-overflow-scrolling:touch; padding-bottom:0;
}
.infographic-hero__tabs::-webkit-scrollbar { display:none; }
.infographic-hero__tab {
  display:inline-flex; align-items:center; gap:7px;
  min-height:40px;
  padding:8px 14px; font-size:13px; font-weight:600;
  color:var(--ih-text-3); background:#fff;
  border:1px solid var(--ih-border); border-radius:var(--ih-r);
  text-decoration:none; white-space:nowrap;
  transition:color .15s, background .15s, border-color .15s;
  flex-shrink:0; margin-bottom:0;
}
.infographic-hero__tab i { font-size:13px; opacity:1; }
.infographic-hero__tab:hover {
  color:var(--ih-green); border-color:var(--ih-green-mid);
  background:#fff;
}
.infographic-hero__tab.active {
  background:var(--ih-green); color:#fff;
  border-color:var(--ih-green); font-weight:600;
}
.infographic-hero__tab.active i { opacity:1; }

/* ══════════════════════════════════════════════
   SECTION / LABEL
══════════════════════════════════════════════ */
.ih-section { padding:36px 0 0; }
.ih-tab-panel { padding-top:30px; }
.ih .ih-breadcrumb {
  display:inline-block !important;
  max-width:100%;
  vertical-align:top;
  margin:0 0 20px !important;
  padding:6px 14px !important;
  background:#e6f5ef !important;
  border:1px solid rgba(12,84,68,.14) !important;
  border-radius:100px !important;
}
.ih .ih-breadcrumb ol {
  display:inline-flex;
  align-items:center;
  gap:8px;
  list-style:none;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  color:#64748b;
  font-size:14px;
  line-height:1.4;
}
.ih .ih-breadcrumb a {
  color:#2c6a5c !important;
  text-decoration:none;
  font-weight:500;
}
.ih .ih-breadcrumb a:hover { color:#0c5444 !important; }
.ih .ih-breadcrumb span { color:#cbd5e1; }
.ih .ih-breadcrumb li[aria-current="page"] {
  color:#334155 !important;
  font-weight:600;
}
.ih-label {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:1.2px;
  color:#0c5440;
  margin:48px 0 10px;
  line-height:1.35;
}
.ih-label::before {
  content:"";
  width:18px;
  height:2px;
  border-radius:1px;
  background:#14a06f;
  flex:0 0 auto;
}
.ih-label::after { content:none; }
.ih-demo-intro + .ih-label,
.ih-tab-panel > .ih-label:first-child,
.ih-apb-head .ih-label {
  margin-top:0;
}

.ih-src {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-size:12px; color:var(--ih-text-4);
  margin-bottom:24px; padding-bottom:16px;
  border-bottom:1px solid var(--ih-border);
}
.ih-src b { font-weight:600; color:var(--ih-text-3); }
.ih-src .dot { width:3px; height:3px; background:var(--ih-border-md); border-radius:50%; }

.ih-demo-intro {
  display:block;
  border:0;
  border-radius:0;
  background:transparent;
  padding:0;
  margin-bottom:42px;
  box-shadow:none;
}
.ih-demo-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:11px;
  font-weight:700;
  letter-spacing:1.2px;
  text-transform:uppercase;
  color:#0c5440;
  margin-bottom:12px !important;
}
.ih-demo-eyebrow::before {
  content:"";
  width:18px;
  height:2px;
  border-radius:1px;
  background:#14a06f;
}
.ih-demo-intro h2 {
  font-size:2.35rem;
  line-height:1.1;
  font-weight:700;
  letter-spacing:0;
  color:#0f1f1b;
  margin:0 0 14px;
}
.ih-demo-intro h2 em,
.ih-sdgs-summary h2 em {
  font-family:"Instrument Serif", Georgia, serif;
  font-style:italic;
  font-weight:400;
  color:#0c5440;
}
.ih-demo-intro p:last-child {
  max-width:820px;
  color:#5e8a80;
  font-size:1.05rem;
  line-height:1.7;
}
.ih-section-note {
  max-width:820px;
  color:#64748b;
  font-size:14px;
  line-height:1.7;
  margin:0 0 24px !important;
}

/* ══════════════════════════════════════════════
   CARD
══════════════════════════════════════════════ */
.ih-card {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:#fff; padding:24px; margin-bottom:28px;
  box-shadow:none;
}
.ih-card-hd {
  display:flex; align-items:flex-start;
  justify-content:space-between; gap:16px; margin-bottom:20px;
}
.ih-card-title { font-size:15px; font-weight:700; color:var(--ih-text); }
.ih-card-desc  { font-size:12px; color:var(--ih-text-3); margin-top:2px; }
.ih-card-count {
  align-self:flex-start;
  border:1px solid var(--ih-border);
  border-radius:99px;
  background:var(--ih-bg);
  color:var(--ih-text-3);
  font-size:11px;
  font-weight:700;
  padding:4px 10px;
  white-space:nowrap;
}
.ih-chart {
  position:relative;
  width:100%;
  min-height:180px;
}
.ih-chart.h200 { height:200px; }
.ih-chart.h260 { height:260px; }
.ih-chart.h300 { height:300px; }
.ih-chart.h360 { height:360px; }
.ih-chart canvas,
.ih-st-chart-big canvas {
  display:block;
  width:100% !important;
  height:100% !important;
}
.ih-leg { display:flex; gap:14px; flex-shrink:0; }
.ih-leg-item { display:flex; align-items:center; gap:6px; font-size:11px; color:var(--ih-text-3); }
.ih-leg-dot   { width:6px; height:6px; border-radius:50%; flex-shrink:0; }
.ih-age-insights {
  display:grid;
  grid-template-columns:1.2fr repeat(3,1fr);
  gap:1px;
  margin:0 0 16px;
  border:1px solid var(--ih-border);
  border-radius:var(--ih-r-lg);
  background:var(--ih-border);
  overflow:hidden;
}
.ih-age-insight {
  min-width:0;
  background:#fff;
  padding:14px 16px;
}
.ih-age-insight-main {
  background:#f0fdf4;
}
.ih-age-label {
  display:block;
  margin-bottom:5px;
  color:var(--ih-text-4);
  font-size:10px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.ih-age-insight strong {
  display:block;
  color:var(--ih-text);
  font-size:20px;
  line-height:1.1;
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.ih-age-insight span:last-child {
  display:block;
  margin-top:5px;
  color:var(--ih-text-3);
  font-size:11px;
  line-height:1.45;
}
.ih-age-note {
  margin:0 0 18px !important;
  padding:12px 14px;
  border-left:3px solid var(--ih-green);
  background:#f8fafc;
  color:var(--ih-text-3);
  font-size:13px;
  line-height:1.65;
}
.ih-edu-grid {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
  gap:16px;
  margin-bottom:28px;
  align-items:stretch;
}
.ih-edu-grid .ih-card { margin-bottom:0; }
.ih-edu-detail-card {
  display:flex;
  flex-direction:column;
  max-height:420px;
  overflow:hidden;
}
.ih-edu-detail-card .ih-card-hd {
  flex:0 0 auto;
}
.ih-edu-list {
  display:flex;
  flex-direction:column;
  gap:13px;
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overscroll-behavior:contain;
  padding-right:8px;
  scrollbar-width:thin;
  scrollbar-color:var(--ih-border-md) transparent;
}
.ih-edu-list::-webkit-scrollbar { width:6px; }
.ih-edu-list::-webkit-scrollbar-track { background:transparent; }
.ih-edu-list::-webkit-scrollbar-thumb { background:var(--ih-border-md); border-radius:999px; }
.ih-edu-row {
  padding-bottom:13px;
  border-bottom:1px solid var(--ih-border);
}
.ih-edu-row:last-child {
  padding-bottom:0;
  border-bottom:0;
}
.ih-edu-row-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:8px;
}
.ih-edu-name {
  color:var(--ih-text);
  font-size:13px;
  font-weight:700;
  line-height:1.35;
}
.ih-edu-value {
  flex:0 0 auto;
  color:var(--ih-text-3);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.ih-edu-meter {
  width:100%;
  height:7px;
  border-radius:999px;
  background:#eef2f7;
  overflow:hidden;
}
.ih-edu-meter span {
  display:block;
  height:100%;
  border-radius:999px;
  background:linear-gradient(90deg, var(--ih-green), #0d9488);
}
.ih-edu-foot {
  margin-top:6px;
  color:var(--ih-text-4);
  font-size:11px;
}

/* ══════════════════════════════════════════════
   KPI GRID
══════════════════════════════════════════════ */
.ih-kpi {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--ih-border);
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  overflow:hidden; margin-bottom:34px;
  box-shadow:none;
}
.ih-kpi-cell {
  border:0; border-radius:0;
  background:#fff; padding:22px 22px 20px; position:relative; overflow:hidden;
  min-height:auto;
  box-shadow:none;
}
.ih-kpi-accent { position:absolute; top:0; left:0; right:0; height:3px; }
.ih-kpi-accent.g  { background:var(--ih-green); }
.ih-kpi-accent.b  { background:var(--ih-blue); }
.ih-kpi-accent.r  { background:var(--ih-red); }
.ih-kpi-accent.a  { background:var(--ih-amber); }
.ih-kpi-lbl {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.08em; color:var(--ih-text-4); margin-bottom:12px; display:block;
}
.ih-kpi-num {
  font-size:32px; font-weight:700; letter-spacing:0;
  color:var(--ih-text); line-height:1; display:block; margin-bottom:4px;
}
.ih-kpi-unit { font-size:11px; color:var(--ih-text-4); }

/* ══════════════════════════════════════════════
   TWO-COL
══════════════════════════════════════════════ */
.ih-two {
  display:grid; grid-template-columns:1fr 1.15fr;
  gap:16px; margin-bottom:18px;
}
.ih-two .ih-card { margin-bottom:0; }

/* ══════════════════════════════════════════════
   DATA TABLE
══════════════════════════════════════════════ */
.ih-dt { width:100%; border-collapse:collapse; }
.ih-dt thead th {
  font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:.06em; color:var(--ih-text-4);
  padding:0 0 10px; border-bottom:1px solid var(--ih-border); text-align:left;
}
.ih-dt thead th:last-child { text-align:right; }
.ih-dt tbody td {
  padding:10px 0; border-bottom:1px solid var(--ih-border);
  font-size:13px; color:var(--ih-text-2); vertical-align:middle;
}
.ih-dt tbody tr:last-child td { border-bottom:none; }
.ih-dt tbody td:last-child { text-align:right; font-size:12px; font-weight:600; color:var(--ih-text-3); }
.ih-dt tbody tr:hover td { color:var(--ih-text); background:var(--ih-bg); }
.ih-work-scroll {
  max-height:360px;
  overflow-y:auto;
  overflow-x:hidden;
  border:1px solid var(--ih-border);
  border-radius:var(--ih-r-lg);
}
.ih-work-scroll::-webkit-scrollbar { width:6px; }
.ih-work-scroll::-webkit-scrollbar-track { background:transparent; }
.ih-work-scroll::-webkit-scrollbar-thumb { background:var(--ih-border-md); border-radius:999px; }
.ih-work-table {
  border-collapse:separate;
  border-spacing:0;
}
.ih-work-table thead th {
  position:sticky;
  top:0;
  z-index:2;
  background:var(--ih-green-pale);
  color:var(--ih-green-dark);
  padding:11px 14px;
  border-bottom:1px solid var(--ih-border);
}
.ih-work-table tbody td {
  padding:12px 14px;
}
.ih-work-table tbody td:first-child {
  font-weight:500;
}
.ih-work-table tbody td:last-child {
  padding-right:14px;
}

/* ══════════════════════════════════════════════
   STAT GRID
══════════════════════════════════════════════ */
.ih-sg {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:16px 18px; margin-bottom:42px;
}
.ih-sg-item {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:#fff; padding:20px 22px;
  display:flex; align-items:center; gap:16px;
  min-height:104px;
  transition:border-color .15s, background .15s;
}
.ih-sg-item:hover { border-color:var(--ih-border-md); background:#fff; }
.ih-sg-ico {
  width:48px; height:48px; border-radius:var(--ih-r);
  background:var(--ih-green-pale); display:flex; align-items:center;
  justify-content:center; font-size:18px; color:var(--ih-green-dark); flex-shrink:0;
  border:1px solid rgba(22,101,52,.1);
}
.ih-sg-lbl {
  font-size:12px;
  font-weight:700;
  color:#94a3b8;
  text-transform:uppercase;
  letter-spacing:.075em;
  line-height:1.25;
  margin-bottom:8px;
}
.ih-sg-val {
  font-size:24px;
  font-weight:800;
  letter-spacing:0;
  color:var(--ih-text);
  line-height:1;
}

/* ══════════════════════════════════════════════
   BADGES
══════════════════════════════════════════════ */
.ih-badge-ok, .ih-badge-warn, .ih-badge-bad, .ih-badge-neu {
  display:inline-flex; align-items:center;
  font-size:11px; font-weight:600;
  border-radius:var(--ih-r-sm); padding:3px 9px;
}
.ih-badge-ok   { color:var(--ih-green); background:var(--ih-green-lt); }
.ih-badge-warn { color:#92400e; background:var(--ih-amber-lt); }
.ih-badge-bad  { color:var(--ih-red); background:var(--ih-red-lt); }
.ih-badge-neu  { color:var(--ih-text-3); background:var(--ih-bg); border:1px solid var(--ih-border); }

/* ══════════════════════════════════════════════
   EMPTY STATE
══════════════════════════════════════════════ */
.ih-empty {
  display:flex; flex-direction:column; align-items:center;
  justify-content:center; gap:10px; min-height:140px;
  border:1px dashed var(--ih-border-md); border-radius:var(--ih-r-lg);
  color:var(--ih-text-4); font-size:13px; background:var(--ih-bg);
}
.ih-empty i { font-size:18px; color:var(--ih-text-4); }

/* ══════════════════════════════════════════════
   IDM
══════════════════════════════════════════════ */
.ih-idm-hero {
  display:grid; grid-template-columns:1fr 1fr;
  gap:12px; margin-bottom:12px;
}
.ih-idm-score-card {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-xl);
  background:#fff; padding:32px 36px; position:relative; overflow:hidden;
}
.ih-idm-score-card::before {
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:var(--ih-green);
}
.ih-idm-yr {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--ih-text-4); margin-bottom:14px;
}
.ih-idm-score-big {
  font-size:58px; font-weight:800; letter-spacing:0;
  color:var(--ih-text); line-height:1;
}
.ih-idm-status-card {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-xl);
  background:var(--ih-green-pale); padding:32px 36px;
  display:flex; flex-direction:column; justify-content:center;
}
.ih-idm-status-lbl {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.1em; color:var(--ih-text-4); margin-bottom:10px;
}
.ih-idm-status-val {
  font-size:32px; font-weight:800; letter-spacing:0; color:var(--ih-text);
}
.ih-idm-pill {
  display:inline-flex; align-items:center; gap:6px;
  font-size:12px; font-weight:700; color:var(--ih-green);
  background:#fff; border:1px solid var(--ih-green-mid);
  border-radius:99px; padding:6px 14px; margin-top:14px; width:fit-content;
}
.ih-idm-pill::before {
  content:''; width:6px; height:6px; background:var(--ih-green); border-radius:50%;
}
.ih-idm-row3 {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:12px; margin-bottom:12px;
}
.ih-idm-r3-cell {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:#fff; padding:22px 24px;
}
.ih-idm-r3-lbl {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.07em; color:var(--ih-text-4); margin-bottom:10px;
}
.ih-idm-r3-val { font-size:24px; font-weight:800; color:var(--ih-text); }

.ih-idm-dims {
  display:grid; grid-template-columns:repeat(3,1fr);
  gap:12px; margin-bottom:18px;
}
.ih-idm-dim {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:var(--ih-bg); padding:22px 24px;
}
.ih-idm-dim-lbl {
  font-size:11px; font-weight:700; text-transform:uppercase;
  letter-spacing:.07em; color:var(--ih-text-4); margin-bottom:10px;
}
.ih-idm-dim-val { font-size:24px; font-weight:800; color:var(--ih-text); }

/* IDM Indicator Table */
.ih-ind-wrap {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  overflow:hidden; margin-bottom:18px; background:#fff;
}
.ih-ind-wrap .ih-table-scroll {
  overflow-x:visible;
  overflow-y:visible;
}
.ih-ind-table {
  width:100%; min-width:0; table-layout:fixed;
  border-collapse:separate; border-spacing:0;
  font-size:11px; color:#111827;
}
.ih-ind-table thead th {
  font-size:10px; font-weight:700; color:#fff;
  padding:10px 5px; border-bottom:1px solid rgba(255,255,255,.5);
  border-right:1px solid rgba(255,255,255,.5);
  background:var(--ih-green); text-align:center;
  white-space:normal; line-height:1.25;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ih-ind-table thead tr:first-child th:first-child { border-top-left-radius:var(--ih-r-sm); }
.ih-ind-table thead tr:first-child th:last-child  { border-top-right-radius:var(--ih-r-sm); }
.ih-ind-table thead th[rowspan="2"] { vertical-align:middle; }
.ih-ind-table thead tr:first-child th { height:auto; min-height:52px; }
.ih-ind-table thead tr:nth-child(2) th { height:auto; padding:8px 3px; font-size:9.5px; }
.ih-ind-table tbody td {
  padding:9px 5px; border-bottom:1px solid #e5e7eb;
  border-right:1px solid #dce1e8; color:#111827;
  vertical-align:top; white-space:normal;
  overflow:visible;
  overflow-wrap:anywhere;
  word-break:break-word;
  hyphens:auto;
}
.ih-ind-table tbody tr:last-child td { border-bottom:none; }
.ih-ind-table tbody td:last-child,
.ih-ind-table thead th:last-child { border-right:none; }
.ih-ind-table tbody tr:hover td { background:var(--ih-green-pale); }
.ih-ind-table td.num { font-weight:600; white-space:normal; }
.ih-ind-table td:nth-child(1) { text-align:center; }
.ih-ind-table td:nth-child(2) { font-weight:500; }
.ih-ind-table td:nth-child(3) { text-align:center; }
.ih-ind-table td:nth-child(6) { text-align:center; font-size:10px; font-weight:700; white-space:normal; }
.ih-ind-table td:nth-child(n+7) {
  text-align:center;
  font-size:10px;
  line-height:1.35;
  white-space:normal;
  overflow-wrap:anywhere;
  word-break:break-word;
}
.ih-ind-table td.dim-hd {
  background:var(--ih-green-pale); font-weight:800; color:var(--ih-green);
  font-size:12px; padding:10px 14px; border-left:3px solid var(--ih-green); text-align:left;
}
.ih-ind-table td.summary-label { background:var(--ih-green-pale); font-weight:800; }
.ih-ind-table td.summary-value { background:var(--ih-green-pale); font-weight:800; white-space:nowrap; }
.ih-ind-table .col-no       { width:4%; }
.ih-ind-table .col-ind      { width:15%; }
.ih-ind-table .col-score    { width:5%; }
.ih-ind-table .col-desc     { width:16%; }
.ih-ind-table .col-act      { width:17.5%; }
.ih-ind-table .col-plus     { width:8%; }
.ih-ind-table .col-small    { width:5.4%; }
.ih-ind-table .col-small-wide { width:6.4%; }

/* ══════════════════════════════════════════════
   SDGs
══════════════════════════════════════════════ */
.ih-sdgs-summary {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:24px;
  align-items:center;
  border:1px solid var(--ih-border);
  border-radius:var(--ih-r-lg);
  background:#fff;
  padding:24px;
  margin-bottom:16px;
}
.ih-sdgs-summary h2 {
  font-size:2.35rem;
  line-height:1.1;
  font-weight:700;
  letter-spacing:0;
  color:#0f1f1b;
  margin:0 0 14px;
}
.ih-sdgs-summary p:last-child {
  max-width:720px;
  color:#5e8a80;
  font-size:1.05rem;
  line-height:1.7;
}
.ih-sdgs-average {
  min-width:150px;
  border-left:1px solid var(--ih-border);
  padding-left:24px;
  text-align:right;
}
.ih-sdgs-average span,
.ih-sdgs-kpi span {
  display:block;
  color:var(--ih-text-4);
  font-size:11px;
  font-weight:700;
  letter-spacing:.075em;
  text-transform:uppercase;
  margin-bottom:8px;
}
.ih-sdgs-average strong {
  display:block;
  color:var(--ih-text);
  font-size:34px;
  line-height:1;
  letter-spacing:0;
}
.ih-sdgs-kpi {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1px;
  border:1px solid var(--ih-border);
  border-radius:var(--ih-r-lg);
  background:var(--ih-border);
  overflow:hidden;
  margin-bottom:36px;
}
.ih-sdgs-kpi div {
  background:#fff;
  padding:18px 20px;
}
.ih-sdgs-kpi strong {
  display:block;
  color:var(--ih-text);
  font-size:26px;
  line-height:1;
  letter-spacing:0;
}
.ih-sdgs-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin-bottom:28px;
}
.ih-sdgs-card {
  border:1px solid var(--ih-border);
  border-radius:var(--ih-r-lg);
  background:#fff;
  padding:18px;
  min-height:164px;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.ih-sdgs-card-top,
.ih-sdgs-card-id,
.ih-sdgs-card-foot {
  display:flex;
  align-items:center;
}
.ih-sdgs-card-top {
  justify-content:space-between;
  gap:12px;
}
.ih-sdgs-card-id {
  gap:10px;
  min-width:0;
}
.ih-sdgs-n {
  width:32px;
  height:32px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ih-border);
  border-radius:var(--ih-r);
  color:var(--ih-text-3);
  font-size:12px;
  font-weight:700;
  flex-shrink:0;
}
.ih-sdgs-dot {
  width:40px;
  height:40px;
  border-radius:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  color:#fff;
  flex-shrink:0;
  box-shadow:0 8px 18px rgba(15,23,42,.12), inset 0 0 0 1px rgba(255,255,255,.22);
}
.ih-sdgs-dot i {
  line-height:1;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}
.ih-sdgs-card h3 {
  min-height:44px;
  color:var(--ih-text);
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  margin:0;
}
.ih-sdgs-status {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:4px 9px;
  font-size:11px;
  font-weight:700;
  white-space:nowrap;
}
.ih-sdgs-status.ok { color:var(--ih-green); background:var(--ih-green-pale); }
.ih-sdgs-status.mid { color:#92400e; background:var(--ih-amber-lt); }
.ih-sdgs-status.low { color:var(--ih-red); background:var(--ih-red-lt); }
.ih-sdgs-bar {
  width:100%;
  height:6px;
  background:var(--ih-border);
  border-radius:999px;
  overflow:hidden;
  margin-top:auto;
}
.ih-sdgs-fill { height:100%; border-radius:999px; }
.ih-sdgs-fill.ok  { background:var(--ih-green); }
.ih-sdgs-fill.mid { background:var(--ih-amber); }
.ih-sdgs-fill.low { background:var(--ih-red); }
.ih-sdgs-card-foot {
  justify-content:space-between;
  color:var(--ih-text-3);
  font-size:12px;
}
.ih-sdgs-card-foot strong {
  color:var(--ih-text);
  font-size:18px;
  line-height:1;
}

/* ══════════════════════════════════════════════
   APBDes
══════════════════════════════════════════════ */
.ih-apb-head {
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:16px; margin-bottom:20px; flex-wrap:wrap;
}
.ih-apb-select-wrap { display:flex; align-items:center; gap:10px; }
.ih-apb-select-wrap label {
  font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:.07em; color:var(--ih-text-4);
  display:inline-flex; align-items:center; gap:6px;
}
.ih-apb-select-wrap label i { font-size:12px; color:var(--ih-green); }
.ih-apb-select {
  border:1px solid var(--ih-border); border-radius:var(--ih-r);
  background:#fff; color:var(--ih-text);
  padding:8px 30px 8px 12px; font:500 12px var(--f-sans);
  min-width:100px; appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2394a3b8' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 10px center;
  cursor:pointer;
}
.ih-apb-select:focus { outline:2px solid var(--ih-green-mid); border-color:var(--ih-green); }

.ih-apb-kpi {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:12px; margin-bottom:18px;
}
.ih-apb-kpi-cell {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:#fff; padding:20px 22px;
}
.ih-apb-kpi-lbl {
  font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:.07em; color:var(--ih-text-4); margin-bottom:8px;
}
.ih-apb-kpi-val { font-size:15px; font-weight:700; color:var(--ih-text); line-height:1.3; }
.ih-apb-kpi-sub { font-size:11px; color:var(--ih-text-4); margin-top:4px; }

.ih-apb-panel {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  overflow:hidden; background:#fff; margin-bottom:16px;
}
.ih-apb-panel-hd {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:14px 18px; border-bottom:1px solid var(--ih-border);
  background:var(--ih-bg);
}
.ih-apb-panel-title { font-size:14px; font-weight:700; color:var(--ih-text); }
.ih-apb-panel-count {
  font-size:11px; color:var(--ih-text-4);
  background:var(--ih-border); padding:3px 10px; border-radius:99px;
}
.ih-apb-table-wrap { overflow-x:auto; }
.ih-apb-table-wrap::-webkit-scrollbar { height:4px; }
.ih-apb-table-wrap::-webkit-scrollbar-thumb { background:var(--ih-border-md); border-radius:2px; }
.ih-apb-table { width:100%; border-collapse:collapse; font-size:12px; min-width:700px; }
.ih-apb-table th {
  font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:.07em; color:var(--ih-text-4);
  padding:10px 14px; border-bottom:1px solid var(--ih-border); text-align:left; white-space:nowrap;
}
.ih-apb-table td {
  padding:10px 14px; border-bottom:1px solid var(--ih-border);
  color:var(--ih-text-2); vertical-align:top;
}
.ih-apb-table tbody tr:last-child td { border-bottom:none; }
.ih-apb-table tbody tr:hover td { background:var(--ih-bg); }
.ih-apb-table .num { text-align:right; font-size:12px; color:var(--ih-text-3); font-weight:600; white-space:nowrap; }
.ih-apb-muted { color:var(--ih-text-4); font-size:11px; margin-top:2px; }
.ih-apb-dl {
  display:inline-flex; align-items:center; gap:6px;
  font-size:13px; font-weight:600; color:var(--ih-green);
  text-decoration:none; margin-top:10px; padding:9px 16px;
  border:1px solid var(--ih-green-mid); border-radius:var(--ih-r);
  background:var(--ih-green-pale); transition:background .15s;
}
.ih-apb-dl:hover { background:var(--ih-green-mid); }

/* APBDes summary cards */
.ih-apb-summary {
  display:grid; grid-template-columns:1fr 1fr;
  gap:12px; margin-bottom:16px;
}
.ih-apb-donut-card {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:#fff; padding:22px 24px;
}
.ih-apb-donut-card .ih-card-hd { margin-bottom:16px; }

/* ══════════════════════════════════════════════
   BANSOS
══════════════════════════════════════════════ */
.ih-bansos-form {
  display:grid; grid-template-columns:1fr auto; gap:10px; align-items:end;
}
.ih-bansos-form label {
  font-size:11px; font-weight:600; text-transform:uppercase;
  letter-spacing:.07em; color:var(--ih-text-4);
  display:block; margin-bottom:6px;
}
.ih-bansos-form input {
  width:100%; border:1px solid var(--ih-border); border-radius:var(--ih-r);
  padding:11px 14px; font:400 13px var(--f-sans); color:var(--ih-text);
  background:#fff; transition:border-color .15s;
}
.ih-bansos-form input:focus {
  outline:none; border-color:var(--ih-green);
  box-shadow:0 0 0 3px rgba(22,101,52,.08);
}
.ih-bansos-btn {
  display:inline-flex; align-items:center; gap:7px;
  padding:11px 20px; font:600 13px var(--f-sans);
  background:var(--ih-green); color:#fff;
  border:none; border-radius:var(--ih-r); cursor:pointer;
  white-space:nowrap; transition:background .15s;
}
.ih-bansos-btn:hover { background:var(--ih-green-dark); }

/* ══════════════════════════════════════════════
   STUNTING
══════════════════════════════════════════════ */
.ih-st-overview {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-xl);
  background:#fff; overflow:hidden; margin-bottom:18px;
}
.ih-st-overview-head {
  display:grid; grid-template-columns:minmax(0,1fr) auto;
  gap:18px; align-items:center;
  padding:28px 30px; border-bottom:1px solid var(--ih-border);
  background:var(--ih-bg);
}
.ih-st-overview-title {
  font-size:20px; font-weight:800; color:var(--ih-text); line-height:1.25;
}
.ih-st-overview-desc { margin-top:6px; color:var(--ih-text-3); font-size:13px; }
.ih-st-year {
  display:inline-flex; align-items:center; gap:8px;
  padding:9px 14px; border:1px solid var(--ih-green-mid);
  border-radius:var(--ih-r); background:var(--ih-green-pale);
  color:var(--ih-green); font-size:12px; font-weight:800; white-space:nowrap;
}
.ih-st-metrics {
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:1px; background:var(--ih-border);
}
.ih-st-metric { background:#fff; padding:22px; min-height:116px; }
.ih-st-metric-top {
  display:flex; align-items:center; justify-content:space-between;
  gap:10px; margin-bottom:14px;
}
.ih-st-metric-label {
  font-size:11px; font-weight:800; color:var(--ih-text-4);
  text-transform:uppercase; letter-spacing:.07em;
}
.ih-st-metric-ico {
  width:36px; height:36px; display:inline-flex;
  align-items:center; justify-content:center;
  border-radius:var(--ih-r); background:var(--ih-green-pale); color:var(--ih-green-dark); flex-shrink:0;
  border:1px solid rgba(22,101,52,.1);
  font-size:15px;
}
.ih-st-metric-value { display:block; font-size:30px; font-weight:800; color:var(--ih-text); line-height:1; }
.ih-st-metric-note  { display:block; margin-top:6px; color:var(--ih-text-3); font-size:12px; }

.ih-st-body {
  display:grid; grid-template-columns:minmax(0,1.35fr) 300px;
  gap:18px; align-items:stretch; margin-top:18px;
}
.ih-st-side {
  border:1px solid var(--ih-border); border-radius:var(--ih-r-lg);
  background:#fff; padding:20px;
}
.ih-st-side-title { font-size:14px; font-weight:800; color:var(--ih-text); margin-bottom:14px; }
.ih-st-side-row {
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; padding:11px 0; border-bottom:1px solid var(--ih-border);
}
.ih-st-side-row:last-child { border-bottom:none; }
.ih-st-side-row span:first-child { color:var(--ih-text-3); font-size:13px; }
.ih-st-side-row span:last-child  { color:var(--ih-text); font-size:15px; font-weight:800; white-space:nowrap; }

.ih-st-chart-scroll { width:100%; overflow-x:auto; overflow-y:hidden; padding-bottom:6px; }
.ih-st-chart-scroll::-webkit-scrollbar { height:4px; }
.ih-st-chart-scroll::-webkit-scrollbar-thumb { background:var(--ih-border-md); border-radius:2px; }
.ih-st-chart-big { position:relative; height:420px; min-width:700px; }

.ih-st-table { width:100%; border-collapse:collapse; font-size:12px; }
.ih-st-table th {
  font-size:11px; font-weight:700; color:var(--ih-text-4);
  text-transform:uppercase; letter-spacing:.06em;
  text-align:left; padding:10px 12px; border-bottom:1px solid var(--ih-border);
}
.ih-st-table td { padding:10px 12px; border-bottom:1px solid var(--ih-border); color:var(--ih-text-2); }
.ih-st-table tbody tr:last-child td { border-bottom:none; }
.ih-st-table tbody tr:hover td { background:var(--ih-bg); }
.ih-st-table .num { text-align:right; font-weight:700; color:var(--ih-text-3); }

/* ══════════════════════════════════════════════
   BREADCRUMB
══════════════════════════════════════════════ */
.ih-bc {
  display:flex; gap:6px; align-items:center;
  font-size:11px; color:var(--ih-text-4);
  list-style:none; padding:24px 0 0; margin:0 0 20px;
}
.ih-bc a { color:var(--ih-text-4); text-decoration:none; }
.ih-bc a:hover { color:var(--ih-text); }
.ih-bc li+li::before { content:'/'; margin-right:6px; color:var(--ih-border-md); }

/* ══════════════════════════════════════════════
   SCROLLBAR GLOBAL
══════════════════════════════════════════════ */
.ih-table-scroll {
  width:100%;
  max-width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
}
.ih-table-scroll::-webkit-scrollbar { height:4px; }
.ih-table-scroll::-webkit-scrollbar-thumb { background:var(--ih-border-md); border-radius:2px; }

/* ══════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════ */
@media(max-width:1024px) {
  .ih-wrap { padding:0 24px; }
}
@media(max-width:900px) {
  .infographic-hero__stats { grid-template-columns:1fr 1fr; }
  .infographic-hero__stat--primary { grid-column:1/-1; }
  .infographic-hero__stat--primary .infographic-hero__stat-value { font-size:30px; }
  .ih-kpi   { grid-template-columns:1fr 1fr; }
  .ih-two   { grid-template-columns:1fr; }
  .ih-age-insights { grid-template-columns:1fr 1fr; }
  .ih-edu-grid { grid-template-columns:1fr; }
  .ih-edu-detail-card { max-height:none; overflow:visible; }
  .ih-edu-list { overflow:visible; padding-right:0; }
  .ih-idm-hero { grid-template-columns:1fr; }
  .ih-idm-row3 { grid-template-columns:1fr 1fr; }
  .ih-idm-dims { grid-template-columns:1fr 1fr; }
  .ih-apb-kpi  { grid-template-columns:1fr 1fr; }
  .ih-apb-summary { grid-template-columns:1fr; }
  .ih-st-metrics { grid-template-columns:1fr 1fr; }
  .ih-st-body  { grid-template-columns:1fr; }
  .ih-st-chart-big { height:380px; }
  .ih-sdgs-summary { grid-template-columns:1fr; }
  .ih-sdgs-average {
    border-left:0;
    border-top:1px solid var(--ih-border);
    padding-left:0;
    padding-top:18px;
    text-align:left;
  }
  .ih-sdgs-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:768px) {
  .ih-wrap { padding:0 20px; }
  .ih-demo-intro { padding:0; margin-bottom:34px; }
  .ih-demo-intro h2,
  .ih-sdgs-summary h2 { font-size:1.9rem; line-height:1.12; }
  .ih-demo-intro p:last-child,
  .ih-sdgs-summary p:last-child { font-size:.95rem; }
  .ih-label { margin-top:38px; font-size:11px; letter-spacing:1.2px; }
  .ih-section-note { font-size:13px; margin-bottom:18px !important; }
  .infographic-hero__tab span { display:none; }
  .infographic-hero__tab { padding:9px 13px; }
  .ih-sg { grid-template-columns:1fr 1fr; }
  .ih-header-inner { flex-direction:column; align-items:flex-start; }
  .ih-st-overview-head { grid-template-columns:1fr; }
  .ih-idm-score-big { font-size:48px; }
  .ih-idm-score-card, .ih-idm-status-card { padding:24px 26px; }
}
@media(max-width:480px) {
  .infographic-hero__stats { gap:8px; }
  .infographic-hero__stat { padding:16px; }
  .infographic-hero__stat-value { font-size:26px; }
  .ih-kpi  { grid-template-columns:1fr; }
  .ih-age-insights { grid-template-columns:1fr; }
  .ih-age-insight { padding:13px 14px; }
  .ih-age-insight strong { font-size:18px; }
  .ih-sg   { grid-template-columns:1fr; }
  .ih-sg-item { min-height:92px; padding:18px; }
  .ih-apb-kpi { grid-template-columns:1fr; }
  .ih-st-metrics { grid-template-columns:1fr; }
  .ih-st-metric { min-height:auto; padding:18px; }
  .ih-idm-row3 { grid-template-columns:1fr; }
  .ih-idm-dims { grid-template-columns:1fr; }
  .ih-bansos-form { grid-template-columns:1fr; }
  .ih-sdgs-kpi,
  .ih-sdgs-grid { grid-template-columns:1fr; }
  .ih-sdgs-card { min-height:auto; }
}

