.hero {
  background:linear-gradient(170deg,var(--forest) 0%,var(--deep) 100%);
  border-bottom:1px solid rgba(255,255,255,.05);
  padding:40px 32px 36px;
  position:relative; overflow:hidden;
}
.hero::before {
  content:''; position:absolute; inset:0;
  background:repeating-linear-gradient(0deg,transparent,transparent 39px,rgba(255,255,255,.02) 40px);
  pointer-events:none;
}
.hero-inner {
  max-width:1240px; margin:0 auto;
  display:grid; grid-template-columns:1fr auto;
  gap:32px; align-items:center; position:relative;
}
.hero-hed { font-family:var(--serif); font-size:clamp(1.5rem,3.5vw,2.3rem); font-weight:400; font-style:italic; color:#fff; line-height:1.2; }
.hero-hed strong { font-style:normal; font-weight:700; color:var(--gold-lt); }
.hero-sub { font-size:.9rem; color:rgba(255,255,255,.85); margin-top:10px; line-height:1.7; max-width:560px; }
.hero-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); flex-shrink:0; min-width:0; width:100%; }
.hk { background:rgba(255,255,255,.03); padding:14px 18px; text-align:center; }
.hk-n { font-family:var(--mono); font-size:1.5rem; font-weight:bold; color:var(--gold-lt); line-height:1; margin-bottom:4px; }
.hk-l { font-family:var(--mono); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.75); line-height:1.3; }

.page { max-width:1240px; margin:0 auto; padding:32px 32px 0; display:grid; grid-template-columns:330px 1fr; gap:24px; align-items:start; }
.sidebar { position:sticky; top:24px; display:flex; flex-direction:column; gap:2px; }
.main { min-width:0; }

.card { background:var(--white); border:1px solid var(--rule); box-shadow:var(--sh-sm); }
.card-head { padding:13px 18px; background:var(--paper); border-bottom:1px solid var(--rule-lt); display:flex; align-items:baseline; justify-content:space-between; gap:8px; }
.card-head h2 { font-family:var(--serif); font-size:.95rem; font-weight:700; color:var(--ink); }
.card-head span { font-family:var(--mono); font-size:.58rem; color:var(--ink-mid); letter-spacing:.1em; text-transform:uppercase; font-weight:500; }
.card-body { padding:16px 18px; }
.field { margin-bottom:13px; }
.field:last-child { margin-bottom:0; }
.field>label { display:block; font-size:.68rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-mid); margin-bottom:5px; }
.field input,.field select { width:100%; padding:9px 11px; border:1px solid var(--rule); background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:.88rem; outline:none; border-radius:0; -webkit-appearance:none; transition:border-color .15s,background .15s; }
.field input:focus,.field select:focus { border-color:var(--sage); background:var(--white); }
.field input:disabled { opacity:.38; cursor:not-allowed; }
.field input.err,.field select.err { border-color:var(--red); background:var(--red-dim); }
.chk-group { display:flex; align-items:flex-start; gap:9px; padding:9px 11px; border:1px solid var(--rule); background:var(--paper); cursor:pointer; transition:background .15s; -webkit-tap-highlight-color:transparent; touch-action:manipulation; min-height:44px; }
.chk-group:hover { background:var(--cream); }
.chk-group input[type=checkbox] {
  appearance:none; -webkit-appearance:none;
  width:20px; height:20px; min-width:20px; flex-shrink:0;
  border:2px solid var(--rule); background:var(--white);
  margin-top:1px; cursor:pointer; transition:all .15s;
}
.chk-group input[type=checkbox]:checked {
  background:var(--forest); border-color:var(--forest);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 14 14' fill='none' stroke='white' stroke-width='2.5' stroke-linecap='round'%3E%3Cpath d='M3 3l8 8M11 3l-8 8'/%3E%3C/svg%3E");
  background-size:12px; background-repeat:no-repeat; background-position:center;
}
.chk-group:has(input:checked) { background:var(--green-dim); border-color:var(--sage); }
.chk-group label { font-size:.82rem; color:var(--ink); cursor:pointer; font-weight:500; line-height:1.45; }
.notice { margin-top:13px; padding:10px 13px; background:var(--amber-dim); border-left:3px solid var(--gold); font-size:.76rem; line-height:1.6; color:var(--amber); }
.notice strong { display:block; font-size:.65rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:3px; color:var(--ink-mid); }
.btn-calc { width:100%; background:var(--forest); color:#fff; border:none; padding:15px 24px; font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border-radius:0; transition:background .15s; margin-top:2px; box-shadow:var(--sh-md); }
.btn-calc:hover { background:var(--sage); }

.ex-banner { border-left:4px solid var(--gold); background:var(--amber-dim); padding:10px 16px; margin-bottom:2px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; transition:opacity .4s; }
.ex-tag { font-family:var(--mono); font-size:.63rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold); font-weight:bold; white-space:nowrap; }
.ex-desc { font-size:.8rem; color:var(--amber); font-style:italic; }

.kpi-strip { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule); border:1px solid var(--rule); margin-bottom:2px; box-shadow:var(--sh-sm); }
.kpi { background:var(--white); padding:16px 15px; }
.kpi-lbl { font-family:var(--mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mid); margin-bottom:5px; font-weight:500; }
.kpi-val { font-family:var(--mono); font-size:1.25rem; font-weight:bold; color:var(--ink); letter-spacing:-.02em; line-height:1; }
.kpi-sub { font-family:var(--mono); font-size:.63rem; color:var(--ink-mid); margin-top:4px; font-weight:500; }
.kpi.prim { border-top:3px solid var(--forest); }
.kpi.prim .kpi-val { color:var(--forest); }
.kpi.neg .kpi-val { color:var(--red); }

.percentile-box { background:var(--white); border:1px solid var(--rule); padding:18px 20px; margin-bottom:2px; box-shadow:var(--sh-sm); display:grid; grid-template-columns:1fr auto; gap:16px; align-items:center; }
.pct-label { font-family:var(--mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mid); margin-bottom:8px; font-weight:500; }
.pct-sentence { font-family:var(--serif); font-size:1rem; color:var(--ink); line-height:1.35; }
.pct-sentence strong { color:var(--forest); font-weight:700; }
.pct-bar-wrap { margin-top:12px; position:relative; }
.pct-bar-track { width:100%; height:8px; background:var(--rule); position:relative; overflow:visible; }
.pct-bar-fill { height:100%; background:var(--forest); transition:width .6s cubic-bezier(.4,0,.2,1); width:0; }
.pct-marker { position:absolute; top:-4px; width:16px; height:16px; border-radius:50%; background:var(--gold); border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.2); transform:translateX(-50%); transition:left .6s cubic-bezier(.4,0,.2,1); left:0; }
.pct-bar-labels { display:flex; justify-content:space-between; margin-top:6px; font-family:var(--mono); font-size:.56rem; color:var(--ink-light); }
.pct-rank { text-align:center; }
.pct-rank-n { font-family:var(--mono); font-size:2.5rem; font-weight:bold; color:var(--forest); line-height:1; }
.pct-rank-l { font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-light); margin-top:4px; }
.pct-source { font-family:var(--mono); font-size:.58rem; color:var(--ink-mid); margin-top:8px; font-weight:500; }

.charts-grid { display:grid; grid-template-columns:1fr 1fr; gap:2px; background:var(--rule); border:1px solid var(--rule); margin-bottom:2px; box-shadow:var(--sh-sm); }
.chart-box { background:var(--white); padding:20px 18px; min-width:0; }
.chart-lbl { font-family:var(--mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-light); margin-bottom:12px; padding-bottom:10px; border-bottom:1px solid var(--rule-lt); }
.chart-wrap { position:relative; width:100%; height:220px; }

.comp-box { background:var(--white); border:1px solid var(--rule); box-shadow:var(--sh-sm); margin-bottom:2px; }
.comp-head { background:var(--paper); padding:13px 18px; border-bottom:1px solid var(--rule-lt); display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:8px; }
.comp-head h3 { font-family:var(--serif); font-size:.95rem; font-weight:700; color:var(--ink); }
.comp-head span { font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-mid); font-weight:500; }
.comp-row { padding:14px 18px; display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.comp-row label { font-size:.68rem; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-mid); white-space:nowrap; }
.comp-row input { width:160px; padding:8px 11px; border:1px solid var(--rule); background:var(--paper); font-family:var(--mono); font-size:.88rem; outline:none; border-radius:0; transition:border-color .15s; }
.comp-row input:focus { border-color:var(--sage); background:var(--white); }
.btn-sec { background:var(--ink); color:#fff; border:none; padding:8px 16px; font-family:var(--sans); font-size:.72rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; border-radius:0; transition:background .15s; }
.btn-sec:hover { background:var(--forest); }
.comp-results { display:none; padding:0; border-top:1px solid var(--rule-lt); }
.comp-results.show { display:block; }
.comp-grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:1px; background:var(--rule); }
.comp-cell { background:var(--white); padding:15px 16px; text-align:center; }
.comp-cell-lbl { font-family:var(--mono); font-size:.58rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-light); margin-bottom:5px; }
.comp-cell-val { font-family:var(--mono); font-size:1.1rem; font-weight:bold; color:var(--ink); }
.comp-cell.delta .comp-cell-val { color:var(--forest); font-size:1.3rem; }
.comp-note { padding:12px 18px; font-size:.82rem; color:var(--ink-mid); line-height:1.75; background:var(--green-dim); border-top:1px solid #c5deca; border-left:4px solid var(--forest); display:none; }
.comp-note.show { display:block; }
.comp-note strong { color:var(--ink); }

.breakdown { background:var(--white); border:1px solid var(--rule); box-shadow:var(--sh-sm); margin-bottom:2px; }
.bd-btn { width:100%; background:var(--paper); border:none; padding:13px 18px; display:flex; align-items:center; justify-content:space-between; cursor:pointer; font-family:var(--mono); font-size:.62rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink); transition:background .15s; gap:12px; font-weight:600; }
.bd-btn:hover { background:var(--cream); }
.bd-chevron { width:12px; height:12px; flex-shrink:0; border-right:2px solid var(--ink-light); border-bottom:2px solid var(--ink-light); transform:rotate(45deg); transition:transform .2s; }
.bd-chevron.open { transform:rotate(225deg); }
.bd-body { display:none; padding:0 18px 18px; }
.bd-body.open { display:block; }
.step { margin-bottom:20px; padding-bottom:20px; border-bottom:1px solid var(--rule-lt); }
.step:first-child { padding-top:14px; }
.step:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.step-ttl { font-family:var(--mono); font-size:.63rem; letter-spacing:.14em; text-transform:uppercase; padding-bottom:8px; margin-bottom:10px; border-bottom:2px solid var(--ink); color:var(--ink); }
.step-ttl.c-gold  { border-color:var(--gold);   color:var(--amber);  }
.step-ttl.c-red   { border-color:var(--red);    color:var(--red);    }
.step-ttl.c-green { border-color:var(--forest); color:var(--forest); }
.step-ttl.c-navy  { border-color:var(--forest); color:var(--forest); }
.li { display:flex; justify-content:space-between; align-items:baseline; padding:4px 0; border-bottom:1px solid #f3f0ea; font-size:.84rem; gap:12px; }
.li:last-child { border-bottom:none; }
.li.tot { border-top:2px solid var(--ink); border-bottom:none; margin-top:7px; padding-top:9px; font-weight:700; }
.li .v { font-family:var(--mono); font-size:.82rem; white-space:nowrap; }
.li .v.neg { color:var(--red); }
.li .v.pos { color:var(--forest); }
.li .l { color:var(--ink-mid); }
.bracket { background:var(--paper); border:1px solid var(--rule); padding:8px 11px; margin-bottom:4px; display:flex; align-items:center; justify-content:space-between; gap:8px; flex-wrap:wrap; font-size:.8rem; }
.br-range { font-family:var(--mono); font-size:.72rem; color:var(--ink-mid); }
.br-rate { font-family:var(--mono); font-size:.68rem; background:var(--forest); color:#fff; padding:2px 8px; flex-shrink:0; }
.br-tax { font-family:var(--mono); font-size:.8rem; font-weight:bold; }
.info-note { font-size:.77rem; line-height:1.6; padding:9px 12px; background:var(--gold-dim); border-left:3px solid var(--gold); color:var(--amber); margin-top:9px; }
.method-note { background:var(--white); border:1px solid var(--rule); border-top:3px solid var(--rule-lt); padding:14px 18px; font-size:.75rem; color:var(--ink-light); line-height:1.7; box-shadow:var(--sh-sm); margin-bottom:2px; }
.method-note strong { color:var(--ink-mid); }

.dashboard { max-width:1240px; margin:0 auto; padding:24px 32px 0; }
.dash-header { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding-bottom:14px; border-bottom:1px solid var(--rule); margin-bottom:18px; }
.dash-title { font-family:var(--serif); font-size:1.2rem; font-weight:700; color:var(--ink); }
.dash-title span { color:var(--ink-light); font-weight:400; font-size:1rem; }
.dash-stats { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--rule); border:1px solid var(--rule); margin-bottom:18px; box-shadow:var(--sh-sm); }
.ds { background:var(--white); padding:16px 18px; }
.ds-lbl { font-family:var(--mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mid); margin-bottom:6px; font-weight:500; }
.ds-val { font-family:var(--mono); font-size:1.6rem; font-weight:bold; color:var(--forest); line-height:1; }
.ds-sub { font-family:var(--mono); font-size:.65rem; color:var(--ink-mid); margin-top:4px; font-weight:500; }

.hist-table-wrap { background:var(--white); border:1px solid var(--rule); box-shadow:var(--sh-sm); overflow-x:auto; margin-bottom:18px; }
.hist-table { width:100%; border-collapse:collapse; min-width:0; }
.hist-table th { background:var(--paper); padding:11px 14px; font-family:var(--mono); font-size:.6rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-mid); text-align:left; border-bottom:1px solid var(--rule); font-weight:600; }
.hist-table td { padding:11px 14px; font-size:.84rem; color:var(--ink-mid); border-bottom:1px solid var(--rule-lt); vertical-align:middle; }
.hist-table tr:last-child td { border-bottom:none; }
.hist-badge { display:inline-block; padding:2px 8px; font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase; background:var(--green-dim); color:var(--forest); }
.hist-empty { padding:32px 20px; text-align:center; font-family:var(--mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-light); }

.national-dash { max-width:1240px; margin:0 auto; padding:0 32px 0; }
.section-divider { display:flex; align-items:center; gap:16px; padding:20px 0 16px; margin-bottom:18px; border-bottom:1px solid var(--rule); }
.section-divider h2 { font-family:var(--serif); font-size:1.2rem; font-weight:700; color:var(--ink); }
.section-divider .sec-sub { font-family:var(--mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-mid); font-weight:500; }
.nat-kpis { display:grid; grid-template-columns:repeat(4,1fr); gap:2px; background:var(--rule); border:1px solid var(--rule); margin-bottom:18px; box-shadow:var(--sh-sm); }
.nat-kpi { background:var(--white); padding:16px 18px; }
.nat-kpi-lbl { font-family:var(--mono); font-size:.58rem; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-mid); margin-bottom:6px; font-weight:500; }
.nat-kpi-val { font-family:var(--mono); font-size:1.4rem; font-weight:bold; color:var(--forest); line-height:1; }
.nat-kpi-sub { font-family:var(--mono); font-size:.6rem; color:var(--ink-mid); margin-top:4px; font-weight:500; }
.nat-badge { font-family:var(--mono); font-size:.6rem; letter-spacing:.06em; text-transform:uppercase; padding:1px 7px; background:var(--amber-dim); color:var(--amber); border:1px solid #e8d5a0; display:inline-block; margin-top:4px; }

.data-request-box { background:var(--deep); padding:24px 28px; margin-bottom:28px; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; box-shadow:var(--sh-md); }
.dr-eyebrow { font-family:var(--mono); font-size:.6rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-lt); margin-bottom:8px; }
.dr-title { font-family:var(--serif); font-size:1.1rem; font-weight:700; color:#fff; margin-bottom:6px; }
.dr-desc { font-size:.82rem; color:rgba(255,255,255,.88); line-height:1.7; font-weight:500; }
.btn-request { background:var(--gold); color:var(--deep); border:none; padding:12px 22px; font-family:var(--sans); font-size:.78rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; cursor:pointer; border-radius:0; white-space:nowrap; transition:background .15s; flex-shrink:0; }
.btn-request:hover { background:var(--gold-lt); }

.modal-overlay { position:fixed; inset:0; background:rgba(12,31,22,.85); z-index:1000; display:none; align-items:center; justify-content:center; padding:20px; }
.modal-overlay.show { display:flex; }
.modal { background:var(--white); max-width:540px; width:100%; box-shadow:var(--sh-lg); animation:modalIn .25s ease; max-height:90vh; overflow-y:auto; }
@keyframes modalIn { from{transform:translateY(16px);opacity:0} to{transform:none;opacity:1} }
.modal-head { background:var(--forest); padding:20px 24px; display:flex; align-items:flex-start; justify-content:space-between; gap:12px; position:sticky; top:0; z-index:1; }
.modal-title { font-family:var(--serif); font-size:1.2rem; font-weight:700; color:#fff; }
.modal-close { background:none; border:none; color:rgba(255,255,255,.5); cursor:pointer; font-size:1.3rem; line-height:1; padding:0; transition:color .15s; }
.modal-close:hover { color:#fff; }
.modal-body { padding:24px; }
.modal-section { margin-bottom:22px; padding-bottom:22px; border-bottom:1px solid var(--rule-lt); }
.modal-section:last-child { margin-bottom:0; padding-bottom:0; border-bottom:none; }
.modal-section-ttl { font-family:var(--mono); font-size:.6rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-light); margin-bottom:12px; }
.data-type-grid { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.data-type-item { background:var(--paper); border:1px solid var(--rule); padding:12px 14px; }
.data-type-item strong { display:block; font-family:var(--mono); font-size:.72rem; color:var(--forest); margin-bottom:3px; }
.data-type-item span { font-size:.78rem; color:var(--ink-light); }
.modal-note { font-size:.78rem; color:var(--ink-light); line-height:1.7; padding:12px 14px; background:var(--green-dim); border-left:3px solid var(--forest); margin-top:12px; }
.mail-fields { display:grid; gap:10px; }
.mail-field { font-size:.82rem; color:var(--ink-mid); }
.mail-field strong { display:block; font-family:var(--mono); font-size:.6rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-light); margin-bottom:4px; }
.mail-field input,.mail-field select,.mail-field textarea { width:100%; padding:9px 11px; border:1px solid var(--rule); background:var(--paper); color:var(--ink); font-family:var(--sans); font-size:.88rem; outline:none; border-radius:0; resize:vertical; transition:border-color .15s; }
.mail-field input:focus,.mail-field select:focus,.mail-field textarea:focus { border-color:var(--sage); background:var(--white); }
.btn-send-mail { width:100%; background:var(--forest); color:#fff; border:none; padding:14px 24px; font-family:var(--sans); font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; cursor:pointer; border-radius:0; transition:background .15s; margin-top:4px; }
.btn-send-mail:hover { background:var(--sage); }

.editorial { background:var(--paper); border-top:1px solid var(--rule); margin-top:40px; }
.ed-inner { max-width:1240px; margin:0 auto; padding:0 32px 80px; }
.ed-block { margin-top:52px; }
.ed-eyebrow { font-family:var(--mono); font-size:.6rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-light); padding-bottom:12px; border-bottom:1px solid var(--rule); margin-bottom:20px; }
.ed-title { font-family:var(--serif); font-size:clamp(1.3rem,2.5vw,1.8rem); font-weight:400; color:var(--ink); line-height:1.25; margin-bottom:12px; }
.ed-lead { font-size:.9rem; color:var(--ink-mid); line-height:1.8; max-width:720px; }
.ed-lead em { color:var(--ink); font-style:italic; }
.reform { background:var(--deep); padding:30px 34px; margin-top:22px; display:grid; grid-template-columns:100px 1fr; gap:28px; align-items:start; }
.reform-yr { font-family:var(--serif); font-size:3rem; font-weight:700; color:rgba(255,255,255,.1); line-height:1; }
.reform-t { font-family:var(--serif); font-size:1.05rem; font-weight:700; color:#fff; margin-bottom:9px; }
.reform-p { font-size:.84rem; color:rgba(255,255,255,.88); line-height:1.75; }
.reform-p strong { color:var(--gold-lt); }
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2px; background:var(--rule); border:1px solid var(--rule); margin-top:22px; }
.why-cell { background:var(--white); padding:22px 20px; }
.why-n { font-family:var(--mono); font-size:2rem; font-weight:bold; color:var(--rule); line-height:1; margin-bottom:12px; }
.why-t { font-family:var(--serif); font-size:1rem; font-weight:700; color:var(--ink); margin-bottom:7px; }
.why-p { font-size:.83rem; color:var(--ink-mid); line-height:1.7; }
.faq { margin-top:22px; border:1px solid var(--rule); box-shadow:var(--sh-sm); }
.faq-item { border-bottom:1px solid var(--rule); }
.faq-item:last-child { border-bottom:none; }
.faq-q { width:100%; background:var(--white); border:none; padding:17px 20px; display:flex; align-items:flex-start; justify-content:space-between; cursor:pointer; text-align:left; gap:16px; transition:background .15s; }
.faq-q:hover { background:var(--paper); }
.faq-num { font-family:var(--mono); font-size:.68rem; color:var(--gold); font-weight:bold; margin-top:3px; flex-shrink:0; }
.faq-txt { font-family:var(--serif); font-size:.97rem; font-weight:400; color:var(--ink); line-height:1.35; flex:1; }
.faq-ch { width:12px; height:12px; flex-shrink:0; margin-top:5px; border-right:2px solid var(--ink-light); border-bottom:2px solid var(--ink-light); transform:rotate(45deg); transition:transform .2s; }
.faq-ch.open { transform:rotate(225deg); }
.faq-a { display:none; padding:0 20px 18px 46px; font-size:.87rem; color:var(--ink-mid); line-height:1.8; background:var(--white); border-top:1px solid var(--rule-lt); }
.faq-a.open { display:block; }
.faq-a strong { color:var(--ink); }
.faq-a em { color:var(--ink); font-style:italic; }

@media(max-width:940px) {
  .page { grid-template-columns:1fr; padding:20px 16px 0; }
  .sidebar { position:static; }
  .dashboard { padding:20px 16px 0; }
  .national-dash { padding:0 16px; }
}
@media(max-width:860px) {
  .kpi-strip { grid-template-columns:repeat(2,1fr); }
  .nat-kpis { grid-template-columns:repeat(2,1fr); }
  .charts-grid { grid-template-columns:1fr; }
}
@media(max-width:760px) {
  .hero-inner { grid-template-columns:1fr; }
  .hero { padding:28px 16px 24px; }
  .hero-kpis { max-width:100%; grid-template-columns:repeat(3,1fr); }
  .percentile-box { grid-template-columns:1fr; }
  .data-request-box { grid-template-columns:1fr; }
}
@media(max-width:640px) { .dash-stats { grid-template-columns:1fr; } }
@media(max-width:600px) {
  .modal-overlay { padding:0; }
  .modal { max-height:100vh; border-radius:0; }
  .comp-row input { width:100%; }
  .reform { grid-template-columns:1fr; padding:22px; gap:14px; }
  .why-grid { grid-template-columns:1fr; }
}
@media(max-width:540px) { .comp-grid { grid-template-columns:1fr; } .data-type-grid { grid-template-columns:1fr; } }
@media(max-width:480px) { .chart-wrap { height:180px; } }
@media(max-width:440px) { .nat-kpis { grid-template-columns:1fr 1fr; } }
@media(max-width:420px) {
  .kpi-strip { grid-template-columns:1fr 1fr; }
  .hk { padding:10px 8px; }
  .hk-n { font-size:1.2rem; }
  .hk-l { font-size:.52rem; }
}
@media(max-width:700px) {
  .ed-inner { padding:0 16px 60px; }
}