.cija-standfirst{ margin-bottom:0 }
.berth[id]{ scroll-margin-top:4.5rem }
.cija-rail{
  position:sticky; top:0; z-index:10; display:flex; justify-content:center; gap:.4rem;
  padding:.5rem max(1rem,calc((100vw - 92rem)/2)); background:var(--steel); border-block:2px solid var(--rule-hard);
}
.cija-rail a{
  display:flex; align-items:center; gap:.55rem; min-height:42px; padding:.5rem .7rem;
  color:var(--bone); font:600 .65rem/1 var(--mono); letter-spacing:.08em; text-decoration:none; text-transform:uppercase;
}
.cija-rail a:hover,.cija-rail a:focus-visible{ background:var(--steel-2); color:var(--bone) }
.cija-rail a:focus-visible{ outline:3px solid var(--amber); outline-offset:-3px }
.cija-rail b{ color:var(--amber) }
.contact-map{
  display:grid; grid-template-columns:minmax(0,1fr) minmax(12rem,.85fr) minmax(0,1fr);
  align-items:stretch; gap:.8rem; max-width:75rem; margin:1rem auto 0;
}
.node-card{
  min-width:0; padding:1rem; border:2px solid var(--rule-hard); background:var(--stock-2);
  box-shadow:4px 4px 0 rgba(19,26,31,.1);
}
.node-card h3{ margin:.35rem 0 .5rem; font:700 clamp(1.25rem,2.4vw,1.8rem)/.98 var(--display); text-transform:uppercase }
.node-card p{ margin:0; color:var(--ink-2); font-size:.9rem; line-height:1.48 }
.node-type{ display:block; color:var(--red); font:600 .61rem/1.3 var(--mono); letter-spacing:.1em; text-transform:uppercase }
.node-organization{ border-top:7px solid var(--red) }
.node-aggregate{ border-top:7px solid var(--amber) }
.node-link{ display:flex; flex-direction:column; justify-content:center; align-items:center; gap:.5rem; text-align:center }
.node-link strong{ color:var(--red); font:700 1rem/1 var(--display); text-transform:uppercase }
.node-link > span:last-child{ color:var(--ink-2); font-size:.78rem; line-height:1.4 }
.link-line{ position:relative; display:block; width:100%; height:2px; background:var(--rule-hard) }
.link-line::after{ position:absolute; top:50%; right:-1px; width:.55rem; height:.55rem; border-top:2px solid var(--rule-hard); border-right:2px solid var(--rule-hard); content:""; transform:translateY(-50%) rotate(45deg) }
.aim-map{ display:grid; grid-template-columns:minmax(10rem,.65fr) minmax(0,2fr); gap:1rem; margin-top:1rem }
.aim-origin{
  position:sticky; top:4.5rem; align-self:start; display:grid; gap:.6rem; padding:1rem;
  border:2px solid var(--rule-hard); background:var(--steel); color:var(--bone);
}
.aim-origin .node-type{ color:var(--amber) }
.aim-origin strong{ font:700 2rem/1 var(--display); text-transform:uppercase }
.aim-origin > span:last-child{ color:#cad2d6; font:600 .62rem var(--mono); letter-spacing:.08em; text-transform:uppercase }
.aim-nodes{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem }
.aim-nodes .node-card{ min-height:9rem }
.aim-nodes .node-card h3{ font-size:1.25rem }
.mp-filters{
  display:grid; grid-template-columns:minmax(12rem,2fr) repeat(4,minmax(8rem,1fr)); gap:.7rem;
  margin:1rem 0 .7rem; padding:.85rem; border:2px solid var(--rule-hard); background:var(--steel); color:var(--bone);
}
.mp-filters label{ display:grid; gap:.35rem; min-width:0; color:#cad2d6; font:600 .61rem/1.25 var(--mono); letter-spacing:.08em; text-transform:uppercase }
.mp-filters input,.mp-filters select{ width:100%; min-width:0; min-height:44px; border:1px solid #82919a; border-radius:0; padding:.55rem; background:#11181d; color:var(--bone); font:500 .9rem var(--body) }
.mp-filters input:focus-visible,.mp-filters select:focus-visible{ outline:3px solid var(--amber); outline-offset:2px }
.mp-count{ margin:.5rem 0; color:var(--red); font:600 .7rem var(--mono); letter-spacing:.05em; text-transform:uppercase }
.mp-node-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; align-items:stretch }
.mp-node{ min-width:0; padding:.85rem; border:2px solid var(--rule-hard); background:var(--stock-2); box-shadow:3px 3px 0 rgba(19,26,31,.1) }
.mp-node[hidden]{ display:none }
.mp-node-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:.5rem; padding-bottom:.45rem; border-bottom:1px solid var(--rule) }
.mp-node-head .node-type{ max-width:12rem; padding-top:.25rem }
.mp-times{ display:flex; align-items:center; gap:.4rem; color:var(--ink); text-align:right }
.mp-times b{ color:var(--red); font:700 1.7rem/.85 var(--display) }
.mp-times span{ font:600 .53rem/1.15 var(--mono); letter-spacing:.05em; text-transform:uppercase }
.mp-node h3{ margin:.55rem 0 .15rem; font:700 1.25rem/.98 var(--display); text-transform:uppercase }
.mp-constituency{ margin:0 0 .7rem; color:var(--ink-2); font-size:.84rem; line-height:1.35 }
.mp-meta{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:.35rem; padding-top:.55rem; border-top:1px solid var(--rule); color:var(--ink-2); font:600 .57rem/1.2 var(--mono); letter-spacing:.04em; text-transform:uppercase }
.mp-meta b{ color:var(--ink) }
.source-panel a+a{ margin-left:.35rem }
.distribution-total{ margin:1rem 0 .6rem; color:var(--red); font:600 .7rem var(--mono); letter-spacing:.05em; text-transform:uppercase }
.distribution-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem }
.distribution-panel{ min-width:0; padding:1rem; border:2px solid var(--rule-hard); background:var(--stock-2); box-shadow:4px 4px 0 rgba(19,26,31,.1) }
.distribution-panel h3{ margin:0 0 .8rem; font:700 1.55rem/1 var(--display); text-transform:uppercase }
.distribution-row+.distribution-row{ margin-top:.7rem; padding-top:.7rem; border-top:1px solid var(--rule) }
.distribution-head{ display:flex; justify-content:space-between; gap:.6rem; align-items:baseline }
.distribution-name{ font:700 .9rem/1.15 var(--display); text-transform:uppercase }
.distribution-count{ color:var(--ink-2); font:600 .56rem/1.2 var(--mono); text-align:right }
.distribution-bar{ height:.55rem; margin:.35rem 0; background:rgba(19,26,31,.1) }
.distribution-bar i{ display:block; height:100%; background:var(--red) }
.distribution-detail{ margin:0; color:var(--ink-2); font-size:.76rem; line-height:1.35 }
.frequency-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; margin-top:1rem }
.frequency-row{ min-width:0; padding:.85rem; border:2px solid var(--rule-hard); background:var(--stock-2) }
.frequency-head{ display:flex; justify-content:space-between; align-items:baseline; gap:.6rem }
.frequency-head h3{ margin:0; font:700 1.05rem/1 var(--display); text-transform:uppercase }
.frequency-head b{ color:var(--red); font:700 1.05rem/1 var(--display); text-align:right; text-transform:uppercase }
.frequency-row .distribution-bar{ height:.7rem; margin:.55rem 0 .25rem }
.frequency-names{ margin:.55rem 0 0; color:var(--ink-2); font-size:.78rem; line-height:1.45 }
.frequency-view{ display:inline-flex; align-items:center; justify-content:center; min-height:42px; margin-top:.55rem; padding:.6rem .75rem; border:0; background:var(--steel); color:var(--bone); cursor:pointer; font:600 .62rem/1 var(--mono); letter-spacing:.06em; text-transform:uppercase }
.frequency-view:hover:not(:disabled){ background:var(--red) }
.frequency-view:focus-visible{ outline:3px solid var(--amber); outline-offset:2px }
.frequency-view:disabled{ opacity:.55; cursor:not-allowed }
.frequency-note{ margin:.75rem 0 0; color:var(--red); font:600 .7rem/1.4 var(--mono); letter-spacing:.04em; text-transform:uppercase }
.limits-grid{ display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:1rem; border-top:4px solid var(--rule-hard) }
.limits-grid article{ padding:1rem .8rem 1rem 0; border-right:1px solid var(--rule); border-bottom:1px solid var(--rule) }
.limits-grid article+article{ padding-left:.8rem }
.limits-grid article:last-child{ border-right:0 }
.limits-grid b{ display:block; margin-bottom:.5rem; font:700 1.05rem/1.05 var(--display); text-transform:uppercase }
.limits-grid p{ margin:0; color:var(--ink-2); font-size:.84rem; line-height:1.45 }
.source-panel{ max-width:54rem; margin:1.5rem auto 0; padding:1.1rem; border:2px solid var(--rule-hard); background:var(--steel); color:var(--bone) }
.source-panel .instrument-label{ color:var(--amber) }
.source-panel h3{ margin:0 0 .45rem; font:700 clamp(1.4rem,3vw,2rem)/.95 var(--display); text-transform:uppercase }
.source-panel p{ margin:.5rem 0 .85rem; color:#cad2d6; font-size:.88rem; line-height:1.45 }
.source-panel a{ display:inline-flex; align-items:center; min-height:42px; padding:.65rem .8rem; background:var(--amber); color:var(--ink); font:700 .68rem/1 var(--mono); letter-spacing:.06em; text-decoration:none; text-transform:uppercase }
.source-panel a:hover{ background:var(--red); color:#fff }
.source-panel a:focus-visible{ outline:3px solid var(--bone); outline-offset:2px }

@media(max-width:900px){
  .limits-grid{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .mp-filters{ grid-template-columns:repeat(2,minmax(0,1fr)) }
  .limits-grid article:nth-child(2){ border-right:0 }
  .limits-grid article:nth-child(3){ padding-left:0 }
}
@media(max-width:600px){
  .berth[id]{ scroll-margin-top:11rem }
  .cija-rail{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); justify-content:stretch; overflow:visible; padding-inline:.5rem }
  .cija-rail a{ justify-content:center; min-width:0; padding:.45rem .2rem; font-size:.57rem }
  .contact-map{ grid-template-columns:1fr; gap:.4rem }
  .node-link{ gap:.4rem; padding:.4rem 1rem }
  .link-line{ width:2px; height:2rem }
  .link-line::after{ top:auto; right:50%; bottom:-1px; transform:translate(50%,0) rotate(135deg) }
  .aim-map{ grid-template-columns:1fr }
  .distribution-grid{ grid-template-columns:1fr }
  .frequency-grid{ grid-template-columns:1fr }
  .aim-origin{ position:static; grid-template-columns:1fr auto; align-items:center }
  .aim-origin .node-type{ grid-column:1/-1 }
  .aim-origin > span:last-child{ text-align:right }
  .aim-nodes{ grid-template-columns:1fr }
  .aim-nodes .node-card{ min-height:0 }
  .mp-filters,.mp-node-grid{ grid-template-columns:1fr }
  .mp-filters{ gap:.55rem }
  .limits-grid{ grid-template-columns:1fr }
  .limits-grid article,.limits-grid article+article{ padding:.8rem 0; border-right:0 }
}
