/* ==========================================================================
   ATLAS · CSS REAL DEL PRODUCTO, ACOTADO AL MAPA

   Generado por tools/build-atlas-map-css-full.js a partir de
   current/public-site/atlas/atlas.css (la versión productiva). Contiene TODAS
   las reglas del producto, con cada selector acotado bajo .b4-map para que el
   componente conserve su identidad sin invadir la página nueva.

   No editar a mano: volver a ejecutar el generador.
   ========================================================================== */

.b4-map{
  --navy: #0c2740;
  --navy-mid: #173b5a;
  --ink: #142c45;
  --ink-soft: #40556c;
  --muted: #788594;
  --paper: #f7f4ee;
  --paper-deep: #eee9df;
  --white: #fffdf9;
  --line: #ded8cc;
  --gold: #b9863d;
  --gold-soft: #eadbc1;
  --teal: #148d78;
  --teal-soft: #e1f1eb;
  --gray-soft: #ecebe7;
  --serif: 'Libre Baskerville', Georgia, serif;
  --sans: 'Manrope', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --content: 1260px;
}
.b4-map, .b4-map *{ box-sizing: border-box; }
.b4-map{ scroll-behavior: smooth; }
.b4-map{ margin: 0; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: var(--sans); -webkit-font-smoothing: antialiased; }
.b4-map a{ color: inherit; text-decoration: none; }
.b4-map button, .b4-map input, .b4-map select{ font: inherit; }
.b4-map button, .b4-map a{ -webkit-tap-highlight-color: transparent; }
.b4-map a:focus-visible, .b4-map button:focus-visible, .b4-map input:focus-visible{ outline: 3px solid rgba(20, 141, 120, .4); outline-offset: 3px; }
.b4-map img{ max-width: 100%; }
.b4-map .skip-link{ position: fixed; z-index: 100; left: 1rem; top: -4rem; padding: .7rem 1rem; color: var(--white); background: var(--navy); }
.b4-map .skip-link:focus{ top: 0; }
.b4-map .site-header{ position: relative; z-index: 30; border-bottom: 1px solid rgba(222, 216, 204, .95); background: rgba(247, 244, 238, .96); }
.b4-map .header-inner{ display: flex; align-items: center; justify-content: space-between; width: min(var(--content), calc(100% - 64px)); min-height: 82px; margin: 0 auto; }
.b4-map .brand{ display: inline-flex; align-items: center; gap: .9rem; min-width: 230px; }
.b4-map .brand img{ display: block; width: 192px; height: auto; }
.b4-map .brand-subtitle{ display: none; color: var(--gold); font-size: .61rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.b4-map .primary-nav{ display: flex; align-items: center; gap: 2.9rem; height: 82px; color: var(--ink); font-size: .82rem; font-weight: 700; }
.b4-map .primary-nav a{ position: relative; display: inline-flex; align-items: center; height: 100%; }
.b4-map .primary-nav a::after{ position: absolute; right: 0; bottom: 0; left: 0; height: 2px; content: ''; background: transparent; }
.b4-map .primary-nav a:hover, .b4-map .primary-nav a.is-active{ color: var(--gold); }
.b4-map .primary-nav a.is-active::after{ background: var(--gold); }
.b4-map .menu-toggle{ display: none; border: 0; color: var(--navy); background: transparent; font-size: .76rem; font-weight: 800; }
.b4-map .app-shell{ width: 100%; min-height: 62vh; }
.b4-map .container{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; }
.b4-map .initial-shell{ width: min(var(--content), calc(100% - 64px)); min-height: 26rem; margin: 0 auto; padding: 5rem 0 4rem; }
.b4-map .initial-shell h1{ max-width: 720px; }
.b4-map .initial-shell .lede{ max-width: 560px; }
.b4-map .loading{ min-height: 28rem; display: grid; place-items: center; color: var(--muted); font-size: .78rem; }
.b4-map .loading::before{ content: ''; width: 1rem; height: 1rem; margin-right: .6rem; display: inline-block; border: 2px solid var(--line); border-top-color: var(--gold); border-radius: 50%; animation: spin .8s linear infinite; vertical-align: -.15rem; }
@keyframes spin{ to { transform: rotate(360deg); } }
.b4-map .async-status{ min-height: 1.2rem; margin-top: .75rem; color: var(--muted); font-size: .66rem; line-height: 1.45; }
.b4-map .async-state{ display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.b4-map .inline-retry{ padding: .25rem .5rem; border: 1px solid var(--gold); color: var(--gold); background: transparent; font-size: .62rem; font-weight: 800; cursor: pointer; }
.b4-map .eyebrow{ margin: 0 0 .75rem; color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .18em; line-height: 1.4; text-transform: uppercase; }
.b4-map .breadcrumb{ display: flex; flex-wrap: wrap; gap: .7rem; margin: 0 0 1.4rem; color: var(--muted); font-size: .66rem; font-weight: 700; }
.b4-map .breadcrumb a:hover{ color: var(--gold); }
.b4-map .breadcrumb span::before{ margin-right: .7rem; content: '/'; color: var(--gold); }
.b4-map h1, .b4-map h2, .b4-map h3, .b4-map p{ margin-top: 0; }
.b4-map h1, .b4-map h2, .b4-map h3{ font-family: var(--serif); font-weight: 400; letter-spacing: -.035em; }
.b4-map h1{ margin-bottom: 1rem; font-size: clamp(2.75rem, 5.2vw, 5.2rem); line-height: 1.04; }
.b4-map h2{ margin-bottom: .55rem; font-size: clamp(1.8rem, 3.2vw, 3rem); line-height: 1.08; }
.b4-map h3{ margin-bottom: .35rem; font-size: 1.05rem; line-height: 1.3; }
.b4-map .lede{ max-width: 620px; margin-bottom: 0; color: var(--ink-soft); font-size: .98rem; line-height: 1.65; }
.b4-map .gold-rule{ width: 42px; height: 2px; margin: 1.35rem 0; background: var(--gold); }
.b4-map .arrow-link{ color: var(--gold); font-size: .76rem; font-weight: 800; white-space: nowrap; }
.b4-map .arrow-link::after{ margin-left: .42rem; content: '→'; font-size: 1rem; }
.b4-map /* Home */
.home-hero{ position: relative; min-height: 528px; overflow: hidden; background-color: var(--paper); background-image: linear-gradient(90deg, rgba(247,244,238,1) 0%, rgba(247,244,238,.98) 38%, rgba(247,244,238,.72) 63%, rgba(247,244,238,.12) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); background-position: center, right center; background-repeat: no-repeat; background-size: cover; }
.b4-map .home-hero::after{ position: absolute; inset: 0; pointer-events: none; content: ''; background: linear-gradient(180deg, rgba(247,244,238,.1), rgba(247,244,238,.08) 65%, rgba(247,244,238,.75)); }
.b4-map .home-inner{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr); align-items: center; gap: 3rem; width: min(var(--content), calc(100% - 64px)); min-height: 528px; margin: 0 auto; padding: 4.2rem 0 3.8rem; }
.b4-map .home-copy{ max-width: 720px; }
.b4-map .home-copy h1{ max-width: 700px; margin-bottom: 1.15rem; }
.b4-map .home-copy .lede{ max-width: 540px; font-family: var(--serif); font-size: 1.02rem; }
.b4-map .home-areas{ align-self: end; padding: 0 0 .4rem; }
.b4-map .home-areas .eyebrow{ margin-bottom: 1rem; }
.b4-map .area-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.b4-map .area-tile{ min-height: 124px; padding: 1.05rem .95rem .9rem; border: 1px solid rgba(185, 134, 61, .34); background: rgba(255, 253, 249, .77); transition: border-color .2s, background .2s, transform .2s; }
.b4-map .area-tile:hover{ border-color: var(--gold); background: rgba(255, 253, 249, .95); transform: translateY(-2px); }
.b4-map .area-tile h2{ margin: 0 0 .8rem; font-family: var(--sans); font-size: .78rem; font-weight: 700; letter-spacing: 0; }
.b4-map .area-tile .arrow-link{ font-size: .7rem; font-weight: 600; }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.b4-map /* Area */
.area-page{ background: var(--paper); }
.b4-map .area-hero{ position: relative; overflow: hidden; min-height: 246px; padding: 2rem 0 2.25rem; background-color: var(--paper); background-image: radial-gradient(circle at 77% 28%, rgba(17,47,76,.035) 0 1px, transparent 1.5px), repeating-radial-gradient(circle at 77% 28%, transparent 0 74px, rgba(183,135,55,.08) 75px 76px); background-position: center; background-repeat: no-repeat; background-size: auto, 620px 620px; }
.b4-map .area-hero::after{ position: absolute; inset: 0; pointer-events: none; content: ''; background: linear-gradient(180deg, rgba(247,244,238,.04), rgba(247,244,238,.34)); }
.b4-map .area-hero-inner{ position: relative; z-index: 1; width: min(var(--content), calc(100% - 64px)); margin: 0 auto; }
.b4-map .area-hero h1{ max-width: 620px; margin: 0 0 .45rem; font-size: clamp(2.5rem, 4.4vw, 4.25rem); }
.b4-map .area-hero .gold-rule{ margin: .95rem 0 0; }
.b4-map .area-content{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; padding: 2.25rem 0 4.2rem; }
.b4-map .section-label{ display: flex; align-items: center; gap: .75rem; margin-bottom: 1rem; color: var(--gold); font-size: .65rem; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; }
.b4-map .section-label::before{ width: 34px; height: 2px; content: ''; background: var(--gold); }
.b4-map .topic-card-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.b4-map .topic-card{ display: flex; min-height: 280px; flex-direction: column; padding: 1.5rem 1.4rem 1.3rem; border: 1px solid var(--line); background: rgba(255, 253, 249, .78); transition: border-color .2s, box-shadow .2s, transform .2s; }
.b4-map .topic-card:hover{ border-color: rgba(185, 134, 61, .78); box-shadow: 0 13px 26px rgba(20, 44, 69, .06); transform: translateY(-2px); }
.b4-map .topic-card .card-status{ display: flex; align-items: center; min-height: 1.3rem; margin-bottom: 1.1rem; color: var(--ink-soft); font-size: .7rem; font-weight: 700; }
.b4-map .topic-card .card-status::before{ width: 7px; height: 7px; margin-right: .5rem; content: ''; border-radius: 50%; background: var(--teal); }
.b4-map .topic-card h2{ display: -webkit-box; overflow: hidden; max-width: 25rem; margin-bottom: .7rem; font-size: 1.65rem; line-height: 1.12; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.b4-map .topic-card p{ margin-bottom: 1rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.b4-map .topic-card .last-movement{ margin-top: auto; padding-top: .9rem; border-top: 1px solid var(--line); color: var(--muted); font-size: .67rem; line-height: 1.45; }
.b4-map .topic-card .last-movement strong{ display: block; margin-top: .2rem; color: var(--ink); font-weight: 600; }
.b4-map .topic-card .last-movement small{ display: block; margin-top: .22rem; color: var(--muted); font-size: .58rem; }
.b4-map .topic-card .next-movement{ border-top-style: dashed; }
.b4-map .topic-card .current-window{ border-top-color: rgba(185, 134, 61, .7); background: rgba(185, 134, 61, .06); }
.b4-map .topic-card .current-window span{ color: var(--gold); font-weight: 700; letter-spacing: .08em; }
.b4-map .topic-card .arrow-link{ display: block; margin-top: 1rem; }
.b4-map .card-actors{ display: grid; gap: .35rem; margin: .15rem 0 .85rem; color: var(--muted); font-size: .59rem; }
.b4-map .card-actors > span:first-child{ color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .card-actor{ display: flex; min-width: 0; align-items: center; gap: .38rem; color: var(--ink-soft); line-height: 1.25; }
.b4-map .card-actor i{ display: inline-grid; width: 1.3rem; height: 1.3rem; flex: 0 0 auto; place-items: center; border: 1px solid rgba(185,134,61,.5); border-radius: 50%; color: var(--navy); background: var(--paper); font-size: .48rem; font-style: normal; font-weight: 800; }
.b4-map .active-lead{ display: grid; gap: .15rem; max-width: 31rem; margin: 1.1rem 0 0; padding-left: .85rem; border-left: 2px solid var(--gold); color: var(--ink-soft); font-size: .72rem; line-height: 1.4; }
.b4-map .active-lead span{ color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .active-lead strong{ color: var(--ink); font-size: .86rem; }
.b4-map .active-lead small{ color: var(--muted); font-size: .62rem; }
.b4-map .small-empty{ padding: 1rem 0; color: var(--muted); font-size: .78rem; }
.b4-map /* Journey */
.journey-page{ position: relative; overflow: hidden; background: var(--paper); }
.b4-map .journey-page::before{ position: absolute; top: 0; right: -150px; width: 520px; height: 520px; pointer-events: none; content: ''; opacity: .25; background: repeating-radial-gradient(circle at center, transparent 0 48px, rgba(185,134,61,.17) 49px 50px); mask-image: linear-gradient(135deg, rgba(0,0,0,.55), transparent 72%); }
.b4-map .journey-hero{ position: relative; z-index: 1; padding: 1.45rem 0 2.1rem; border-bottom: 1px solid var(--line); }
.b4-map .journey-hero-inner{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; }
.b4-map .journey-top{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(390px, .87fr); gap: 2.5rem; align-items: center; }
.b4-map .journey-copy{ min-width: 0; }
.b4-map .journey-copy h1{ max-width: 680px; margin-bottom: .65rem; font-size: clamp(2.15rem, 4vw, 4rem); line-height: 1.08; }
.b4-map .journey-copy.long-title h1{ display: -webkit-box; overflow: hidden; max-width: 680px; font-size: clamp(2rem, 3.1vw, 3.25rem); line-height: 1.1; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .journey-summary{ max-width: 650px; margin-bottom: 1.15rem; color: var(--ink-soft); font-family: var(--serif); font-size: .9rem; line-height: 1.55; }
.b4-map .summary-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.b4-map .summary-card{ min-height: 108px; padding: .9rem .85rem; border: 1px solid var(--line); background: rgba(255, 253, 249, .63); }
.b4-map .summary-card h2{ margin-bottom: .45rem; color: var(--gold); font-family: var(--sans); font-size: .57rem; font-weight: 800; letter-spacing: .13em; line-height: 1.35; text-transform: uppercase; }
.b4-map .summary-card p{ display: -webkit-box; overflow: hidden; margin: 0; color: var(--ink); font-size: .73rem; font-weight: 600; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .summary-card p.muted{ color: var(--muted); font-weight: 400; }
.b4-map .change-line{ margin-top: .8rem; padding: .55rem .75rem; border-left: 2px solid var(--gold); color: var(--ink-soft); background: rgba(234, 219, 193, .42); font-size: .7rem; line-height: 1.45; }
.b4-map .change-line strong{ color: var(--ink); }
.b4-map .network-panel{ min-width: 0; padding: 1rem 0 .2rem; }
.b4-map .network-heading{ display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.b4-map .network-heading h2{ margin-bottom: 0; font-family: var(--sans); font-size: .74rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .network-heading .eyebrow{ margin: 0; font-size: .58rem; }
.b4-map .actor-map{ position: relative; min-height: 290px; margin-top: .55rem; overflow: hidden; border: 1px solid rgba(185, 134, 61, .27); background: rgba(255, 253, 249, .37); }
.b4-map .actor-map::before, .b4-map .actor-map::after{ position: absolute; top: 50%; left: 50%; content: ''; border: 1px solid rgba(185, 134, 61, .3); border-radius: 50%; transform: translate(-50%, -50%); }
.b4-map .actor-map::before{ width: 172px; height: 172px; }
.b4-map .actor-map::after{ width: 270px; height: 270px; border-color: rgba(185, 134, 61, .17); }
.b4-map .network-center{ position: absolute; z-index: 3; top: 50%; left: 50%; display: flex; width: 128px; min-height: 128px; align-items: center; justify-content: center; flex-direction: column; padding: .8rem; border-radius: 50%; color: var(--white); background: var(--navy); text-align: center; transform: translate(-50%, -50%); }
.b4-map .network-center span{ margin-bottom: .35rem; color: rgba(255,255,255,.68); font-size: .54rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.b4-map .network-center strong{ display: -webkit-box; overflow: hidden; max-width: 105px; font-family: var(--serif); font-size: .77rem; font-weight: 400; line-height: 1.22; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.b4-map .actor-node{ position: absolute; z-index: 4; display: flex; max-width: 128px; min-height: 45px; align-items: center; justify-content: center; padding: .42rem .55rem; border: 1px solid rgba(185, 134, 61, .58); border-radius: 999px; color: var(--ink); background: rgba(255,253,249,.94); box-shadow: 0 4px 12px rgba(20,44,69,.05); text-align: center; }
.b4-map .actor-node strong{ display: -webkit-box; overflow: hidden; font-size: .57rem; font-weight: 800; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .actor-node small{ display: block; margin-top: .18rem; color: var(--gold); font-size: .48rem; line-height: 1.2; }
.b4-map .actor-node.authority{ border-color: rgba(20, 141, 120, .55); }
.b4-map .actor-node:nth-of-type(1){ top: 7%; left: 50%; transform: translateX(-50%); }
.b4-map .actor-node:nth-of-type(2){ top: 28%; right: 4%; }
.b4-map .actor-node:nth-of-type(3){ right: 8%; bottom: 8%; }
.b4-map .actor-node:nth-of-type(4){ bottom: 7%; left: 50%; transform: translateX(-50%); }
.b4-map .actor-node:nth-of-type(5){ bottom: 8%; left: 8%; }
.b4-map .actor-node:nth-of-type(6){ top: 28%; left: 4%; }
.b4-map .network-note{ margin: .55rem 0 0; color: var(--muted); font-size: .61rem; line-height: 1.4; }
.b4-map .phase-map-panel{ margin-top: 0; }
.b4-map .phase-map-intro{ max-width: 760px; margin: -.35rem 0 1rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.5; }
.b4-map .phase-map-track{ display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .55rem; overflow-x: auto; padding: .2rem 0 .35rem; }
.b4-map .phase-map-phase{ min-width: 0; border-top: 2px solid var(--gold); background: rgba(255,253,249,.62); transition: opacity .18s, transform .18s, box-shadow .18s; }
.b4-map .phase-map-phase.expected{ border-top-color: #969b98; }
.b4-map .phase-map-phase-button{ display: grid; width: 100%; min-height: 108px; gap: .35rem; padding: .8rem .75rem .7rem; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .phase-map-phase-button strong{ font-family: var(--serif); font-size: .86rem; font-weight: 400; line-height: 1.25; }
.b4-map .phase-map-phase-button small{ color: var(--muted); font-size: .59rem; }
.b4-map .phase-state{ color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .phase-map-phase.expected .phase-state{ color: #7d8582; }
.b4-map .phase-actor-links{ display: grid; gap: .35rem; padding: 0 .55rem .65rem; }
.b4-map .phase-actor-link, .b4-map .phase-map-actor{ display: grid; gap: .15rem; padding: .48rem .55rem; border: 1px solid var(--line); color: var(--ink); background: var(--white); text-align: left; cursor: pointer; transition: opacity .18s, border-color .18s, box-shadow .18s; }
.b4-map .phase-actor-link.confirmed{ border-left: 3px solid var(--teal); }
.b4-map .phase-actor-link.expected{ border-left: 3px dashed #9b9e9a; }
.b4-map .phase-actor-link strong, .b4-map .phase-map-actor strong{ font-size: .64rem; font-weight: 800; line-height: 1.3; }
.b4-map .phase-actor-link span, .b4-map .phase-map-actor span, .b4-map .phase-map-actor small{ color: var(--muted); font-size: .57rem; line-height: 1.35; }
.b4-map .phase-empty{ display: block; padding: .5rem; color: var(--muted); font-size: .59rem; line-height: 1.35; }
.b4-map .phase-map-actors{ margin-top: 1rem; padding-top: .9rem; border-top: 1px solid var(--line); }
.b4-map .phase-map-actors > .eyebrow{ margin-bottom: .55rem; }
.b4-map .phase-map-actor-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.b4-map .phase-map-actor:hover, .b4-map .phase-map-phase-button:hover, .b4-map .phase-actor-link:hover{ border-color: var(--gold); box-shadow: 0 5px 15px rgba(20,44,69,.07); }
.b4-map .phase-map-phase.is-highlight, .b4-map .phase-actor-link.is-highlight, .b4-map .phase-map-actor.is-highlight{ box-shadow: 0 0 0 2px rgba(185,134,61,.55), 0 8px 20px rgba(20,44,69,.08); }
.b4-map .phase-map-panel .is-dimmed{ opacity: .25; }
.b4-map .phase-map-drawer{ position: relative; margin-top: .85rem; padding: 1rem 2.4rem 1rem 1rem; border: 1px solid var(--gold-soft); background: rgba(234,219,193,.32); }
.b4-map .phase-map-drawer h3{ margin-bottom: .35rem; font-size: 1.05rem; }
.b4-map .phase-map-drawer p{ margin-bottom: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.5; }
.b4-map .phase-map-drawer .detail-close{ top: .45rem; }
.b4-map .phase-drawer-evidence{ margin-top: .45rem; color: var(--gold) !important; font-size: .62rem !important; }
.b4-map .phase-map-disclaimer{ margin: .85rem 0 0; color: var(--muted); font-size: .6rem; line-height: 1.45; }
.b4-map .journey-body{ position: relative; z-index: 1; width: min(var(--content), calc(100% - 64px)); margin: 0 auto; padding: 1.8rem 0 4.2rem; }
.b4-map .section-panel{ padding: 1.25rem 1.3rem; border: 1px solid var(--line); background: rgba(255, 253, 249, .5); }
.b4-map .section-panel + .section-panel{ margin-top: 1rem; }
.b4-map .panel-heading{ display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .95rem; }
.b4-map .panel-heading h2{ margin-bottom: 0; font-size: 1.45rem; }
.b4-map .panel-heading .eyebrow{ margin-bottom: .25rem; }
.b4-map /* Timeline */
.timeline-panel{ padding: 1.2rem 1.3rem 1.35rem; }
.b4-map .timeline-track{ position: relative; display: grid; grid-template-columns: repeat(auto-fit, minmax(125px, 1fr)); gap: .3rem; padding-top: 1.4rem; }
.b4-map .timeline-track::before{ position: absolute; top: 1.65rem; right: 1%; left: 1%; height: 1px; content: ''; background: linear-gradient(90deg, var(--gold) 0 53%, #a8aaa7 53% 100%); }
.b4-map .timeline-event{ position: relative; min-width: 0; padding: 1.05rem .6rem .1rem; }
.b4-map .timeline-event::before{ position: absolute; z-index: 2; top: .06rem; left: .6rem; width: .55rem; height: .55rem; content: ''; border: 2px solid var(--gold); border-radius: 50%; background: var(--paper); }
.b4-map .timeline-event.current::before{ width: .74rem; height: .74rem; top: -.04rem; border-color: var(--navy); background: var(--navy); box-shadow: 0 0 0 4px rgba(20, 141, 120, .16); }
.b4-map .timeline-event.expected::before{ border-color: #9b9e9a; background: #9b9e9a; }
.b4-map .timeline-event time{ display: block; margin-bottom: .35rem; color: var(--muted); font-size: .61rem; font-weight: 800; }
.b4-map .timeline-event h3{ display: -webkit-box; overflow: hidden; min-height: 2.7em; margin-bottom: .3rem; font-size: .82rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.b4-map .timeline-event p{ display: -webkit-box; overflow: hidden; margin: 0; color: var(--ink-soft); font-size: .65rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .timeline-event.expected h3, .b4-map .timeline-event.expected p{ color: #777b79; }
.b4-map .event-source{ display: inline-block; margin-top: .35rem; color: var(--gold); font-size: .61rem; font-weight: 800; }
.b4-map .timeline-legend{ display: flex; flex-wrap: wrap; gap: 1.1rem; margin-top: 1.05rem; color: var(--muted); font-size: .61rem; }
.b4-map .timeline-legend span::before{ display: inline-block; width: .5rem; height: .5rem; margin-right: .35rem; content: ''; border: 1px solid var(--gold); border-radius: 50%; vertical-align: -.02rem; }
.b4-map .timeline-legend .legend-current::before{ border-color: var(--navy); background: var(--navy); }
.b4-map .timeline-legend .legend-future::before{ border-color: #9b9e9a; background: #9b9e9a; }
.b4-map /* Signals and key institutions */
.signals-layout{ display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); gap: 1rem; margin-top: 1rem; }
.b4-map .signals-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.b4-map .signal-card{ display: flex; min-height: 132px; flex-direction: column; padding: .9rem .95rem; border: 1px solid var(--line); background: rgba(255,253,249,.72); }
.b4-map .signal-card .signal-type{ margin-bottom: .7rem; color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.b4-map .signal-card.context .signal-type{ color: var(--teal); }
.b4-map .signal-card h3{ display: -webkit-box; overflow: hidden; margin-bottom: .65rem; font-size: .85rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .signal-card p{ display: -webkit-box; overflow: hidden; margin: 0 0 .55rem; color: var(--ink-soft); font-size: .64rem; line-height: 1.45; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .signal-card small{ margin-top: auto; color: var(--muted); font-size: .6rem; line-height: 1.4; }
.b4-map .key-institutions{ padding: 1.1rem 1.15rem; border: 1px solid var(--line); background: rgba(255,253,249,.57); }
.b4-map .key-institutions h2{ margin-bottom: .85rem; font-family: var(--sans); font-size: .76rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.b4-map .key-row{ display: grid; grid-template-columns: 1fr auto; gap: .8rem; padding: .65rem 0; border-top: 1px solid var(--line); }
.b4-map .key-row:first-of-type{ border-top: 0; }
.b4-map .key-row strong{ display: block; font-size: .7rem; line-height: 1.35; }
.b4-map .key-row span{ color: var(--muted); font-size: .61rem; line-height: 1.35; text-align: right; }
.b4-map .source-list{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; }
.b4-map /* Existing rich projections */
.position-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.b4-map .position-card{ min-width: 0; padding: .9rem; border: 1px solid var(--line); background: rgba(255,253,249,.72); }
.b4-map .position-meta{ display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-bottom: .6rem; }
.b4-map .position-meta time{ color: var(--muted); font-size: .6rem; }
.b4-map .position-card h3{ margin-bottom: .3rem; font-size: .95rem; }
.b4-map .position-card p{ margin-bottom: .55rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.b4-map .position-evidence, .b4-map .position-context, .b4-map .position-note{ display: block; color: var(--muted); font-size: .62rem; line-height: 1.45; }
.b4-map .position-source{ display: inline-block; margin-top: .55rem; color: var(--gold); font-size: .64rem; font-weight: 800; }
.b4-map .tag{ display: inline-flex; width: fit-content; padding: .28rem .48rem; color: var(--teal); background: var(--teal-soft); font-size: .58rem; font-weight: 800; letter-spacing: .04em; }
.b4-map .tag.orange{ color: #9b6426; background: var(--gold-soft); }
.b4-map .tag.neutral{ color: var(--ink-soft); background: var(--gray-soft); }
.b4-map .position-group + .position-group{ margin-top: 1rem; }
.b4-map .position-history{ margin-top: .75rem; border-top: 1px solid var(--line); }
.b4-map .position-history summary{ padding: .7rem 0; color: var(--gold); cursor: pointer; font-size: .67rem; font-weight: 800; }
.b4-map .position-history ol{ display: grid; gap: .5rem; margin: 0; padding: 0 0 .25rem 1rem; }
.b4-map .position-history li{ color: var(--ink-soft); font-size: .68rem; line-height: 1.4; }
.b4-map .position-history time, .b4-map .position-history strong, .b4-map .position-history span{ display: block; }
.b4-map .position-history time{ color: var(--muted); font-size: .6rem; }
.b4-map .position-history strong{ margin-top: .15rem; color: var(--ink); }
.b4-map /* Archive / retained secondary routes */
.archive-page, .b4-map .search-page{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; padding: 3.4rem 0 5rem; }
.b4-map .archive-header, .b4-map .search-header{ max-width: 800px; padding-bottom: 1.65rem; border-bottom: 1px solid var(--line); }
.b4-map .archive-header h1, .b4-map .search-header h1{ margin-bottom: .65rem; font-size: clamp(2.4rem, 4.4vw, 4.25rem); }
.b4-map .archive-list{ display: grid; gap: .75rem; margin-top: 1.35rem; }
.b4-map .archive-row{ display: grid; grid-template-columns: 1fr auto; gap: 1rem; padding: 1.05rem 1.15rem; border: 1px solid var(--line); background: rgba(255,253,249,.72); }
.b4-map .archive-row h3{ margin-bottom: .35rem; font-size: 1.05rem; }
.b4-map .archive-row p{ margin: 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.4; }
.b4-map .archive-row aside{ min-width: 110px; text-align: right; }
.b4-map .filter-bar{ display: flex; flex-wrap: wrap; gap: .5rem; margin: 1.2rem 0; }
.b4-map .filter-button{ min-height: 32px; padding: .4rem .65rem; border: 1px solid var(--line); color: var(--ink-soft); background: transparent; font-size: .65rem; font-weight: 800; }
.b4-map .filter-button:hover, .b4-map .filter-button.active{ border-color: var(--gold); color: var(--gold); }
.b4-map .search-form{ display: flex; max-width: 520px; margin-top: 1.2rem; }
.b4-map .search-form input{ flex: 1; min-width: 0; min-height: 40px; padding: .6rem .75rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .search-form button{ min-height: 40px; padding: .6rem .85rem; border: 1px solid var(--navy); color: var(--white); background: var(--navy); font-size: .68rem; font-weight: 800; }
.b4-map .result-list{ display: grid; gap: .65rem; margin-top: 1.25rem; }
.b4-map .result-card{ display: grid; grid-template-columns: 110px 1fr auto; gap: .8rem; align-items: center; padding: .9rem 1rem; border: 1px solid var(--line); background: rgba(255,253,249,.72); }
.b4-map .result-card h3{ margin: 0; font-size: .92rem; }
.b4-map .result-card p{ margin: .2rem 0 0; color: var(--ink-soft); font-size: .68rem; }
.b4-map .institution-card{ display: block; padding: 1rem; border: 1px solid var(--line); background: rgba(255,253,249,.72); }
.b4-map .error-card{ max-width: 620px; margin: 4rem auto; padding: 1.75rem; border: 1px solid #dcbca1; background: #f5e8dc; }
.b4-map .error-card h1{ font-size: 2.4rem; }
.b4-map .error-card p{ color: #71523f; font-size: .82rem; line-height: 1.55; }
.b4-map .error-actions{ display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 1rem; }
.b4-map .button{ display: inline-flex; align-items: center; min-height: 36px; padding: .5rem .75rem; color: var(--white); background: var(--navy); font-size: .68rem; font-weight: 800; }
.b4-map .button.secondary{ color: var(--navy); background: transparent; border: 1px solid var(--navy); }
.b4-map .site-footer{ color: rgba(255,255,255,.72); background: var(--navy); }
.b4-map .footer-inner{ display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 2rem; width: min(var(--content), calc(100% - 64px)); min-height: 94px; margin: 0 auto; }
.b4-map .footer-brand{ display: inline-flex; align-items: center; width: 145px; }
.b4-map .footer-brand img{ display: block; width: 145px; filter: brightness(0) invert(1); opacity: .9; }
.b4-map .footer-links{ display: flex; flex-wrap: wrap; gap: 1.45rem; font-size: .65rem; font-weight: 600; }
.b4-map .footer-links a:hover{ color: #fff; }
.b4-map .footer-copy{ color: rgba(255,255,255,.5); font-size: .62rem; }
@media (max-width: 1040px){
.b4-map .area-grid, .b4-map .home-areas .area-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map .home-inner{ grid-template-columns: 1fr; align-items: end; }
.b4-map .home-areas{ max-width: 760px; }
.b4-map .journey-top{ grid-template-columns: minmax(0, 1fr) minmax(340px, .8fr); gap: 1.4rem; }
.b4-map .signals-layout{ grid-template-columns: 1fr; }
.b4-map .key-institutions{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 .8rem; }
.b4-map .key-institutions h2{ grid-column: 1 / -1; }
}
@media (max-width: 780px){
.b4-map .header-inner, .b4-map .container, .b4-map .home-inner, .b4-map .area-hero-inner, .b4-map .area-content, .b4-map .journey-hero-inner, .b4-map .journey-body, .b4-map .archive-page, .b4-map .search-page, .b4-map .footer-inner{ width: min(100% - 32px, var(--content)); }
.b4-map .header-inner{ min-height: 68px; }
.b4-map .brand{ min-width: 0; }
.b4-map .brand img{ width: 166px; }
.b4-map .primary-nav{ position: absolute; top: 68px; right: 16px; left: 16px; display: none; height: auto; flex-direction: column; align-items: stretch; gap: 0; padding: .35rem; border: 1px solid var(--line); background: var(--white); box-shadow: 0 14px 30px rgba(20,44,69,.1); }
.b4-map .primary-nav.open{ display: flex; }
.b4-map .primary-nav a{ height: auto; padding: .75rem; border-bottom: 1px solid var(--line); }
.b4-map .primary-nav a:last-child{ border-bottom: 0; }
.b4-map .primary-nav a::after{ display: none; }
.b4-map .menu-toggle{ display: block; }
.b4-map .home-hero{ min-height: 0; background-image: linear-gradient(180deg, rgba(247,244,238,.92) 0%, rgba(247,244,238,.78) 54%, rgba(247,244,238,.28) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); background-position: center, 68% center; }
.b4-map .home-inner{ min-height: 0; padding: 3.1rem 0 2.2rem; }
.b4-map .home-copy h1{ font-size: clamp(2.35rem, 11vw, 3.7rem); }
.b4-map .home-copy .lede{ font-size: .88rem; }
.b4-map .area-grid, .b4-map .home-areas .area-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .area-hero{ min-height: 0; padding: 1.45rem 0 1.7rem; background-image: radial-gradient(circle at 78% 24%, rgba(17,47,76,.035) 0 1px, transparent 1.5px), repeating-radial-gradient(circle at 78% 24%, transparent 0 56px, rgba(183,135,55,.07) 57px 58px); background-position: center; background-size: auto, 460px 460px; }
.b4-map .area-hero h1{ font-size: clamp(2.3rem, 12vw, 3.4rem); }
.b4-map .area-content{ padding: 1.55rem 0 3rem; }
.b4-map .topic-card-grid{ grid-template-columns: 1fr; }
.b4-map .topic-card{ min-height: 0; padding: 1.2rem 1.15rem 1.1rem; }
.b4-map .journey-hero{ padding-top: 1.1rem; }
.b4-map .journey-top{ grid-template-columns: 1fr; gap: 1.35rem; }
.b4-map .journey-copy h1, .b4-map .journey-copy.long-title h1{ font-size: clamp(2rem, 10vw, 3.1rem); }
.b4-map .summary-grid{ grid-template-columns: 1fr; gap: .55rem; }
.b4-map .summary-card{ min-height: 0; }
.b4-map .summary-card p{ -webkit-line-clamp: 4; }
.b4-map .network-panel{ padding-top: .2rem; }
.b4-map .actor-map{ min-height: 310px; }
.b4-map .phase-map-track{ display: flex; align-items: stretch; overflow-x: auto; scroll-snap-type: x proximity; padding-bottom: .65rem; }
.b4-map .phase-map-phase{ flex: 0 0 82%; scroll-snap-align: start; }
.b4-map .phase-map-actor-grid{ grid-template-columns: 1fr; }
.b4-map .journey-body{ padding-top: 1.25rem; }
.b4-map .section-panel, .b4-map .timeline-panel{ padding: 1rem; }
.b4-map .timeline-track{ display: block; padding: .2rem 0 0 1rem; }
.b4-map .timeline-track::before{ top: .25rem; bottom: .5rem; left: .28rem; width: 1px; height: auto; background: linear-gradient(180deg, var(--gold) 0 53%, #a8aaa7 53% 100%); }
.b4-map .timeline-event{ padding: .2rem 0 1rem 1rem; }
.b4-map .timeline-event::before{ top: .2rem; left: -.99rem; }
.b4-map .timeline-event.current::before{ top: .1rem; left: -1.08rem; }
.b4-map .signals-grid, .b4-map .source-list{ grid-template-columns: 1fr; }
.b4-map .key-institutions{ display: block; }
.b4-map .key-institutions h2{ margin-bottom: .5rem; }
.b4-map .key-row span{ text-align: right; }
.b4-map .position-grid{ grid-template-columns: 1fr; }
.b4-map .archive-page, .b4-map .search-page{ padding-top: 2.3rem; }
.b4-map .archive-row, .b4-map .result-card{ grid-template-columns: 1fr; gap: .55rem; }
.b4-map .archive-row aside{ text-align: left; }
.b4-map .footer-inner{ display: flex; align-items: flex-start; flex-direction: column; gap: 1rem; padding: 1.6rem 0; }
.b4-map .footer-links{ gap: .65rem 1rem; }
}
.b4-map /* C9A: the Lobby dossier uses the shared procedure rail.  These compact
 * additions keep its conditional branches and two-track context readable at
 * 390px without reintroducing a second roadmap renderer. */
.lobby-page .lobby-procedure-block > .topic-procedure{ margin: 0; }
.b4-map .procedure-phase .phase-event a{ display: inline-flex; margin-right: .55rem; color: var(--gold); font-size: .58rem; font-weight: 800; }
.b4-map .procedure-phase .phase-event.phase-procedural-basis{ border-left-color: #8b918e; }
.b4-map .procedure-phase .phase-event.phase-unknown{ border-left-color: #b7b0a5; }
.b4-map .procedure-branches{ margin-top: .8rem; padding: .7rem .8rem; border-left: 2px solid #8b918e; background: rgba(236,235,231,.7); }
.b4-map .procedure-branches-label{ margin: 0 0 .45rem; color: #727977; font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .procedure-branches-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
.b4-map .procedure-branch{ display: grid; gap: .22rem; padding: .5rem .55rem; border-top: 1px solid rgba(20,44,69,.14); }
.b4-map .procedure-branch span{ color: #727977; font-size: .5rem; font-weight: 800; letter-spacing: .08em; }
.b4-map .procedure-branch strong{ font-size: .68rem; line-height: 1.3; }
.b4-map .procedure-branch p{ margin: 0; color: var(--ink-soft); font-size: .59rem; line-height: 1.4; }
.b4-map /* C16.10: actor interventions use the same Atlas typographic hierarchy as
 * the dossier. Titles are serif; state, .b4-map actor, .b4-map verb and evidence are sans.
 * No per-drawer font or fallback is introduced. */
.topic-inline-drawer h3, .b4-map .topic-actor-drawer h3, .b4-map .explorer-drawer h3{ font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.b4-map .topic-inline-drawer .topic-actor-detail-row, .b4-map .topic-actor-drawer .topic-relation-row, .b4-map .explorer-drawer .explorer-drawer-list li{ display: grid; grid-template-columns: 1fr; justify-content: initial; gap: .18rem; }
.b4-map .topic-actor-detail-title{ color: var(--ink); font-family: var(--serif); font-size: .82rem; font-weight: 400; line-height: 1.35; }
.b4-map .topic-actor-detail-status, .b4-map .topic-actor-detail-actor, .b4-map .topic-actor-detail-verb, .b4-map .topic-inline-drawer .topic-evidence-link, .b4-map .topic-actor-drawer .topic-evidence-link{ color: var(--ink-soft); font-family: var(--sans); font-size: .64rem; line-height: 1.4; }
.b4-map .topic-actor-detail-status{ color: var(--gold); font-weight: 800; letter-spacing: .035em; text-transform: uppercase; }
.b4-map .topic-actor-detail-verb{ color: var(--navy); font-weight: 800; }
.b4-map .topic-inline-drawer .topic-actor-detail-row .drawer-label{ margin-top: 0; }
.b4-map .phase-procedural-basis p{ font-family: var(--sans); font-size: .58rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.b4-map .lobby-track-compare{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; margin-top: .8rem; }
.b4-map .lobby-track-compare article{ padding: .7rem; border: 1px solid var(--line); background: rgba(255,255,255,.66); }
.b4-map .lobby-track-compare h3{ margin: .25rem 0 .4rem; font-size: .76rem; line-height: 1.35; }
.b4-map .lobby-track-compare p:not(.eyebrow){ margin: 0 0 .45rem; color: var(--ink-soft); font-size: .62rem; line-height: 1.45; }
@media (max-width: 780px){
.b4-map .procedure-branches-grid, .b4-map .lobby-track-compare{ grid-template-columns: 1fr; }
.b4-map .lobby-page .topic-procedure .procedure-rail{ overflow: visible; }
.b4-map .lobby-page .topic-procedure .procedure-phase{ min-width: 0; }
}
.b4-map /* V3.15: Topic Experience V2.  The dossier is an editorial sequence, .b4-map not a
   stack of independent dashboards.  Keep the page light and let the
   procedure rail carry the structure. */
.topic-block{ position: relative; border-top: 1px solid var(--line); padding: 1.7rem 0 1.9rem; }
.b4-map .topic-block:first-child{ border-top: 0; }
.b4-map .topic-block-heading{ display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: .95rem; }
.b4-map .topic-block-heading h2{ margin: 0; font-size: clamp(1.5rem, 2.3vw, 2.15rem); }
.b4-map .topic-block-heading .eyebrow{ margin-bottom: .3rem; }
.b4-map .topic-block-note{ color: var(--muted); font-size: .62rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.b4-map .topic-hero-block{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; padding: 1.35rem 0 1.55rem; }
.b4-map .topic-hero-block .breadcrumb{ margin-bottom: 1.8rem; }
.b4-map .topic-hero-grid{ display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(400px, .95fr); gap: 4rem; align-items: end; }
.b4-map .topic-hero-copy{ min-width: 0; }
.b4-map .topic-hero-copy h1{ max-width: 820px; margin-bottom: .7rem; font-size: clamp(2.6rem, 4.6vw, 4.8rem); line-height: 1.03; text-wrap: balance; }
.b4-map .topic-official-title{ display: grid; gap: .18rem; max-width: 760px; margin: -.15rem 0 .85rem; }
.b4-map .topic-official-title span{ color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.b4-map .topic-official-title strong{ color: var(--muted); font-size: .75rem; font-weight: 600; line-height: 1.4; }
.b4-map .topic-lede{ max-width: 720px; margin: 0; color: var(--ink-soft); font-family: var(--serif); font-size: .96rem; line-height: 1.55; }
.b4-map .topic-now-line{ display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin-top: 1.25rem; color: var(--ink); font-size: .72rem; line-height: 1.45; }
.b4-map .topic-now-line b{ color: var(--teal); font-size: .58rem; letter-spacing: .14em; }
.b4-map .topic-status-dot{ width: 8px; height: 8px; border-radius: 50%; background: var(--teal); box-shadow: 0 0 0 4px rgba(20,141,120,.12); }
.b4-map .topic-now-actor{ color: var(--muted); }
.b4-map .topic-amendment-badge, .b4-map .phase-badge{ display: inline-flex; width: fit-content; align-items: center; padding: .18rem .34rem; border: 1px solid rgba(185,134,61,.55); color: var(--gold); background: rgba(185,134,61,.08); font-size: .52rem; font-weight: 800; letter-spacing: .08em; line-height: 1.2; }
.b4-map .topic-hero-facts{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.b4-map .topic-hero-facts article{ min-width: 0; padding: .8rem .9rem .75rem 0; border-bottom: 1px solid var(--line); }
.b4-map .topic-hero-facts article:nth-child(even){ padding-right: 0; padding-left: .9rem; border-left: 1px solid var(--line); }
.b4-map .topic-hero-facts p{ margin: 0 0 .28rem; color: var(--gold); font-size: .52rem; font-weight: 800; letter-spacing: .14em; }
.b4-map .topic-hero-facts strong{ display: -webkit-box; overflow: hidden; color: var(--ink); font-size: .71rem; line-height: 1.4; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .topic-hero-facts small{ display: block; margin-top: .28rem; color: var(--muted); font-size: .59rem; line-height: 1.35; }
.b4-map .topic-hero-facts .topic-fact-next{ border-bottom-style: dashed; }
.b4-map .topic-hero-facts .topic-fact-window{ background: rgba(185,134,61,.06); }
.b4-map .topic-hero-facts .topic-fact-why{ grid-column: 1 / -1; padding-right: 0; border-left: 0; }
.b4-map .topic-hero-facts .topic-fact-why strong{ max-width: 620px; font-weight: 500; }
.b4-map .topic-hero-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: 1rem 1.35rem; margin-top: 1.15rem; }
.b4-map .text-link{ color: var(--gold); font-size: .68rem; font-weight: 800; }
.b4-map .text-link span{ margin-left: .35rem; font-size: 1rem; }
.b4-map .muted-link{ color: var(--ink-soft); font-size: .65rem; font-weight: 700; }
.b4-map .topic-hero-actions .muted-link{ color: var(--muted); }
.b4-map .topic-decision-brief{ border-top: 2px solid var(--gold); }
.b4-map .topic-decision-brief .topic-block-heading{ align-items: start; }
.b4-map .topic-decision-brief-grid{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.b4-map .topic-decision-brief-grid article{ min-width: 0; padding: .82rem .82rem .72rem 0; border-bottom: 1px solid var(--line); }
.b4-map .topic-decision-brief-grid article + article{ padding-left: .82rem; border-left: 1px solid var(--line); }
.b4-map .topic-decision-brief-grid p{ margin: 0 0 .34rem; color: var(--gold); font-size: .52rem; font-weight: 800; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }
.b4-map .topic-decision-brief-grid strong{ display: block; color: var(--ink); font-size: .67rem; font-weight: 600; line-height: 1.42; }
.b4-map .topic-decision-brief-source{ display: inline-block; margin-top: .72rem; color: var(--gold); font-size: .6rem; font-weight: 800; }
.b4-map .journey-body{ padding-top: .4rem; }
.b4-map .journey-body > .topic-block{ width: min(var(--content), calc(100% - 64px)); margin-right: auto; margin-left: auto; }
.b4-map .journey-body > .topic-block + .topic-block{ margin-top: 0; }
.b4-map .procedure-rail-wrap, .b4-map .explorer-spine-wrap{ overflow-x: auto; padding: .35rem 0 .55rem; scrollbar-color: var(--gold-soft) transparent; }
.b4-map .procedure-rail{ display: grid; grid-template-columns: repeat(var(--phase-count, 6), minmax(165px, 1fr)); gap: .55rem; min-width: 100%; }
.b4-map .procedure-more{ margin-top: .65rem; border-top: 1px solid rgba(20,44,69,.11); }
.b4-map .procedure-more summary{ padding: .65rem 0; color: var(--gold, #9e6f2a); font-size: .68rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .procedure-more summary::-webkit-details-marker{ display: none; }
.b4-map .procedure-more summary::after{ content: '＋'; float: right; }
.b4-map .procedure-more[open] summary::after{ content: '−'; }
.b4-map .procedure-rail-deep{ padding-top: .65rem; }
.b4-map .procedure-tracks{ display: flex; flex-wrap: wrap; gap: .4rem; margin: 0 0 .8rem; }
.b4-map .procedure-track{ display: grid; min-width: 0; gap: .12rem; padding: .45rem .6rem; border: 1px solid var(--line); border-left: 2px solid var(--gold); background: rgba(255,253,249,.58); }
.b4-map .procedure-track b{ overflow: hidden; max-width: 420px; color: var(--ink); font-size: .59rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .procedure-track small{ color: var(--muted); font-size: .5rem; line-height: 1.3; }
.b4-map .compact-track-summary{ border-top: 2px solid var(--navy); }
.b4-map .compact-track-summary-list{ display: grid; border-top: 1px solid var(--line); }
.b4-map .compact-track-summary-row{ display: grid; grid-template-columns: minmax(150px, 1.1fr) minmax(190px, 1.35fr) minmax(170px, 1.15fr) minmax(220px, 1.6fr); gap: 1rem; align-items: start; min-width: 0; padding: .68rem 0; border-bottom: 1px solid var(--line); }
.b4-map .compact-track-summary-cell{ display: grid; min-width: 0; gap: .22rem; }
.b4-map .compact-track-summary-cell > span{ color: var(--gold); font-size: .5rem; font-weight: 800; letter-spacing: .1em; line-height: 1.25; text-transform: uppercase; }
.b4-map .compact-track-summary-cell > strong{ min-width: 0; color: var(--ink); font-size: .67rem; font-weight: 600; line-height: 1.35; }
.b4-map .compact-track-name > strong{ font-family: var(--serif); font-size: .82rem; font-weight: 400; }
.b4-map .compact-track-next > strong{ color: var(--navy); }
.b4-map .compact-track-summary-note{ max-width: 800px; margin: .65rem 0 0; color: var(--muted); font-size: .59rem; line-height: 1.45; }
.b4-map .procedure-phase{ min-width: 165px; border-top: 2px solid var(--gold); background: rgba(255,253,249,.38); transition: opacity .18s, box-shadow .18s, transform .18s; }
.b4-map .procedure-phase.confirmed{ border-top-color: var(--teal); }
.b4-map .procedure-phase.current{ border-top-color: var(--navy); background: rgba(20,44,69,.045); box-shadow: inset 0 -2px 0 var(--navy); }
.b4-map .procedure-phase.expected{ border-top-style: dashed; border-top-color: #8f9893; }
.b4-map .procedure-phase.unknown{ border-top-style: dashed; border-top-color: #b7b0a5; background: rgba(183,176,165,.08); }
.b4-map .procedure-phase-head{ display: grid; width: 100%; min-height: 104px; gap: .35rem; padding: .75rem .72rem .58rem; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .procedure-phase-head:hover, .b4-map .procedure-phase-head:focus-visible{ background: rgba(255,255,255,.7); outline-offset: -3px; }
.b4-map .phase-index{ color: var(--gold); font-size: .52rem; font-weight: 800; letter-spacing: .13em; }
.b4-map .procedure-phase.confirmed .phase-index{ color: var(--teal); }
.b4-map .procedure-phase.current .phase-index{ color: var(--navy); }
.b4-map .procedure-phase.expected .phase-index{ color: var(--muted); }
.b4-map .procedure-phase.unknown .phase-index{ color: #8b8174; }
.b4-map .procedure-phase-head strong{ display: -webkit-box; overflow: hidden; min-height: 2.7em; font-family: var(--serif); font-size: .83rem; font-weight: 400; line-height: 1.34; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .procedure-phase-head time, .b4-map .phase-date{ color: var(--muted); font-size: .59rem; line-height: 1.35; }
.b4-map .procedure-phase-head .phase-deadline{ color: var(--navy); font-size: .59rem; font-weight: 700; line-height: 1.35; }
.b4-map .procedure-phase-head .phase-badge{ margin-top: .05rem; }
.b4-map .phase-event{ margin: 0 .72rem .55rem; padding: .55rem .55rem .5rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.b4-map .phase-event p{ margin: 0 0 .25rem; color: var(--gold); font-size: .5rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .phase-event h3{ display: -webkit-box; overflow: hidden; margin: 0 0 .25rem; font-size: .68rem; line-height: 1.35; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .phase-event time{ color: var(--muted); font-size: .57rem; }
.b4-map .phase-event a{ display: block; margin-top: .25rem; color: var(--gold); font-size: .57rem; font-weight: 800; }
.b4-map .phase-actors{ display: grid; gap: .35rem; padding: 0 .72rem .72rem; }
.b4-map .procedure-actor-chip{ display: grid; gap: .16rem; width: 100%; padding: .43rem .48rem; border: 1px solid var(--line); border-left: 2px solid var(--teal); color: var(--ink); background: var(--white); text-align: left; cursor: pointer; transition: opacity .18s, border-color .18s, box-shadow .18s; }
.b4-map .procedure-actor-chip.expected{ border-left-style: dashed; border-left-color: #969d99; }
.b4-map .procedure-actor-chip:hover, .b4-map .procedure-actor-chip:focus-visible{ border-color: var(--gold); outline-offset: -2px; }
.b4-map .procedure-actor-chip span{ overflow: hidden; font-size: .61rem; font-weight: 800; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .procedure-actor-chip small{ color: var(--muted); font-size: .53rem; line-height: 1.3; }
.b4-map .phase-no-actors, .b4-map .explorer-no-actor{ margin: 0; padding: .2rem 0; color: var(--muted); font-size: .56rem; line-height: 1.4; }
.b4-map .procedure-legend{ display: flex; flex-wrap: wrap; gap: .55rem 1.2rem; margin-top: .75rem; color: var(--muted); font-size: .59rem; }
.b4-map .procedure-legend span::before{ display: inline-block; width: 1.1rem; height: 1px; margin: 0 .35rem .18rem 0; content: ''; background: var(--teal); }
.b4-map .procedure-legend .legend-current::before{ height: 5px; border-radius: 50%; background: var(--navy); }
.b4-map .procedure-legend .legend-expected::before{ background: transparent; border-top: 1px dashed #969d99; }
.b4-map .procedure-legend .legend-unknown::before{ background: transparent; border-top: 1px dashed #b7b0a5; }
.b4-map .procedure-disclaimer{ max-width: 820px; margin: .65rem 0 0; color: var(--muted); font-size: .58rem; line-height: 1.45; }
.b4-map .procedure-phase.is-highlight, .b4-map .procedure-actor-chip.is-highlight, .b4-map .topic-actor-preview-row.is-highlight{ box-shadow: 0 0 0 2px rgba(185,134,61,.45), 0 8px 20px rgba(20,44,69,.08); }
.b4-map .topic-block .is-dimmed{ opacity: .24; }
.b4-map .topic-actors-preview .topic-block-heading{ align-items: end; }
.b4-map .topic-actor-preview-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.b4-map .topic-actor-preview-row{ display: grid; grid-template-columns: auto minmax(0, 1fr) minmax(0, .9fr); gap: .55rem; align-items: center; min-width: 0; padding: .65rem .7rem; border: 1px solid var(--line); color: var(--ink); background: rgba(255,253,249,.56); text-align: left; cursor: pointer; transition: opacity .18s, border-color .18s, box-shadow .18s; }
.b4-map .topic-actor-preview-row:hover, .b4-map .topic-actor-preview-row:focus-visible{ border-color: var(--gold); outline-offset: -2px; }
.b4-map .topic-actor-preview-row.is-current{ border-left: 3px solid var(--navy); }
.b4-map .topic-actor-mark{ display: inline-grid; width: 30px; height: 30px; place-items: center; overflow: hidden; border: 0; border-radius: 50%; color: var(--navy); background: transparent; box-shadow: none; font-size: .52rem; font-weight: 800; line-height: 1; text-align: center; }
.b4-map .topic-actor-mark img{ width: 100%; height: 100%; object-fit: contain; padding: 0; }
.b4-map .topic-actor-mark .topic-actor-fallback{ display: grid; width: 100%; height: 100%; place-items: center; align-content: center; gap: .12rem; line-height: 1; }
.b4-map .topic-actor-mark .topic-actor-fallback b{ font-size: .48rem; }
.b4-map .topic-actor-mark .topic-actor-fallback small{ font-size: .28rem; font-weight: 800; letter-spacing: .03em; }
.b4-map .topic-actor-mark .identity-eu-council{ color: #315e8f; }
.b4-map .topic-actor-mark .identity-parliament{ color: #244d89; }
.b4-map .topic-actor-mark .identity-eu-agency{ color: #246f9b; }
.b4-map .explorer-actor-mark{ display: inline-grid; width: 25px; height: 25px; place-items: center; overflow: hidden; border: 0; border-radius: 50%; color: var(--navy); background: transparent; box-shadow: none; font-size: .44rem; font-weight: 800; }
.b4-map .explorer-actor-mark img{ width: 100%; height: 100%; object-fit: contain; padding: 0; }
.b4-map .topic-actor-copy{ display: grid; min-width: 0; gap: .17rem; }
.b4-map .topic-actor-copy strong{ overflow: hidden; font-size: .66rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-actor-copy small, .b4-map .topic-actor-phases{ overflow: hidden; color: var(--muted); font-size: .55rem; line-height: 1.35; text-overflow: ellipsis; }
.b4-map .topic-actor-phases{ text-align: right; }
.b4-map .topic-inline-note{ margin: .7rem 0 0; color: var(--muted); font-size: .59rem; line-height: 1.45; }
.b4-map .topic-inline-roster{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.b4-map .topic-inline-roster .topic-inline-row{ display: grid; grid-template-columns: auto minmax(0, 1fr) auto auto; min-width: 0; min-height: 66px; align-items: center; padding: .6rem .7rem; border: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--ink); background: rgba(255,253,249,.56); text-align: left; cursor: pointer; }
.b4-map .topic-inline-roster .topic-inline-row:hover, .b4-map .topic-inline-roster .topic-inline-row:focus-visible{ border-color: var(--gold); outline-offset: -2px; }
.b4-map .topic-inline-roster .topic-inline-row.is-current{ box-shadow: inset 3px 0 0 var(--navy); }
.b4-map .topic-actor-phase-map{ position: relative; display: grid; gap: .35rem; padding: .85rem .7rem .7rem; border: 1px solid rgba(20,44,69,.11); background: linear-gradient(90deg, rgba(238,247,244,.28), rgba(255,253,249,.82) 50%, rgba(251,246,235,.3)); overflow: hidden; }
.b4-map .topic-actor-phase-map::before{ content: ''; position: absolute; top: 2.75rem; bottom: .7rem; left: 50%; width: 1px; background: linear-gradient(to bottom, rgba(20,141,120,.28), rgba(184,137,59,.2)); pointer-events: none; }
.b4-map .topic-actor-phase-map-intro{ position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: .8rem; margin: 0 0 .35rem; color: var(--muted); font-size: .55rem; letter-spacing: .06em; text-transform: uppercase; }
.b4-map .topic-map-key::before{ content: ''; display: inline-block; width: 20px; margin: 0 .34rem .16rem 0; border-top: 2px solid currentColor; vertical-align: middle; }
.b4-map .topic-map-key.confirmed{ color: var(--teal); }
.b4-map .topic-map-key.expected{ color: var(--gold); }
.b4-map .topic-map-key.expected::before{ border-top-style: dashed; }
.b4-map .topic-phase-map-row{ position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1fr) 34px minmax(190px, .7fr) 34px minmax(0, 1fr); align-items: center; min-height: 76px; }
.b4-map .topic-phase-map-lane{ display: flex; flex-wrap: wrap; align-items: center; gap: .35rem; min-width: 0; }
.b4-map .topic-phase-map-lane.left{ justify-content: flex-end; }
.b4-map .topic-phase-map-lane.right{ justify-content: flex-start; }
.b4-map .topic-phase-map-actor{ display: flex; min-width: 0; align-items: center; gap: .38rem; padding: .42rem .46rem; border: 1px solid rgba(20,44,69,.12); border-radius: 2px; color: var(--ink); background: rgba(255,253,249,.94); text-align: left; cursor: pointer; transition: border-color .16s, box-shadow .16s, opacity .16s; }
.b4-map .topic-phase-map-actor:hover, .b4-map .topic-phase-map-actor:focus-visible, .b4-map .topic-phase-map-actor.is-highlight{ border-color: var(--gold); outline: 0; box-shadow: 0 5px 14px rgba(20,44,69,.08); }
.b4-map .topic-phase-map-actor.expected{ border-style: dashed; }
.b4-map .topic-phase-map-actor.is-dimmed{ opacity: .32; }
.b4-map .topic-phase-map-actor .topic-actor-mark{ flex: 0 0 25px; width: 25px; height: 25px; }
.b4-map .topic-phase-map-actor .topic-actor-mark img{ max-width: 19px; max-height: 19px; }
.b4-map .topic-phase-map-actor > span:last-child{ display: grid; min-width: 0; gap: .12rem; }
.b4-map .topic-phase-map-actor strong{ max-width: 132px; overflow: hidden; font-size: .62rem; font-weight: 700; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-phase-map-actor small{ color: var(--muted); font-size: .52rem; line-height: 1.2; }
.b4-map .topic-phase-map-edge{ position: relative; height: 1px; border-top: 1px solid rgba(20,141,120,.55); }
.b4-map .topic-phase-map-edge.confirmed{ border-color: rgba(20,141,120,.58); }
.b4-map .topic-phase-map-edge.expected{ border-top-style: dashed; border-color: rgba(184,137,59,.7); }
.b4-map .topic-phase-map-phase{ position: relative; z-index: 2; display: grid; min-height: 65px; align-content: center; gap: .18rem; padding: .58rem .65rem; border: 1px solid rgba(20,44,69,.16); color: var(--ink); background: rgba(255,253,249,.98); text-align: left; cursor: pointer; box-shadow: 0 6px 14px rgba(20,44,69,.06); transition: border-color .16s, box-shadow .16s, opacity .16s; }
.b4-map .topic-phase-map-phase:hover, .b4-map .topic-phase-map-phase:focus-visible, .b4-map .topic-phase-map-phase.is-highlight{ border-color: var(--gold); outline: 0; box-shadow: 0 8px 18px rgba(20,44,69,.1); }
.b4-map .topic-phase-map-phase.is-dimmed{ opacity: .35; }
.b4-map .topic-phase-map-phase span{ color: var(--gold); font-size: .49rem; font-weight: 800; letter-spacing: .11em; }
.b4-map .topic-phase-map-phase.current{ border-top: 2px solid var(--navy); }
.b4-map .topic-phase-map-phase.current span{ color: var(--navy); }
.b4-map .topic-phase-map-phase strong{ font-family: var(--serif); font-size: .94rem; font-weight: 400; line-height: 1.1; }
.b4-map .topic-phase-map-phase small{ color: var(--muted); font-size: .53rem; }
.b4-map .topic-inline-actor-copy{ display: grid; min-width: 0; gap: .16rem; margin-left: .55rem; }
.b4-map .topic-inline-actor-copy strong{ overflow: hidden; font-size: .65rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-inline-actor-copy small, .b4-map .topic-inline-actor-count{ overflow: hidden; color: var(--muted); font-size: .54rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-inline-actor-count{ text-align: right; }
.b4-map .topic-inline-arrow{ color: var(--gold); font-size: .9rem; }
.b4-map .topic-watch-list{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 2rem; padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.b4-map .topic-watch-list li{ display: grid; grid-template-columns: minmax(120px, .4fr) 1fr; gap: .8rem; padding: .7rem 0; border-bottom: 1px solid var(--line); }
.b4-map .topic-watch-list b{ color: var(--ink); font-size: .66rem; }
.b4-map .topic-watch-list span{ color: var(--ink-soft); font-size: .65rem; line-height: 1.4; }
.b4-map .topic-evidence-grid{ display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: 2rem; }
.b4-map .topic-subheading{ margin: 0 0 .55rem; color: var(--gold); font-size: .55rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.b4-map .topic-document-list, .b4-map .topic-media-list{ display: grid; gap: .45rem; }
.b4-map .topic-document-row, .b4-map .topic-media-row{ display: grid; grid-template-columns: 110px minmax(0, 1fr) auto; gap: .65rem; align-items: center; min-width: 0; padding: .62rem .7rem; border-bottom: 1px solid var(--line); color: var(--ink); }
.b4-map .topic-document-row:first-child, .b4-map .topic-media-row:first-child{ border-top: 1px solid var(--line); }
.b4-map .topic-document-row span, .b4-map .topic-media-row span{ color: var(--gold); font-size: .51rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .topic-media-row span{ color: var(--teal); }
.b4-map .topic-document-row strong, .b4-map .topic-media-row strong{ overflow: hidden; font-size: .66rem; line-height: 1.35; text-overflow: ellipsis; }
.b4-map .topic-document-row small, .b4-map .topic-media-row small{ color: var(--muted); font-size: .56rem; text-align: right; white-space: nowrap; }
.b4-map .topic-document-row.is-primary{ background: rgba(185,134,61,.055); }
.b4-map .topic-all-docs{ display: inline-block; margin-top: .7rem; }
.b4-map .topic-empty{ max-width: 680px; margin: 0; color: var(--muted); font-size: .69rem; line-height: 1.5; }
.b4-map .topic-related{ display: grid; grid-template-columns: minmax(220px, .7fr) 1fr auto; gap: 1.4rem; align-items: end; padding: 1.25rem 0 0; border-top: 1px solid var(--line); }
.b4-map .journey-body > .topic-related{ width: min(var(--content), calc(100% - 64px)); margin-right: auto; margin-left: auto; }
.b4-map .topic-related h2{ margin: 0; font-size: 1.3rem; }
.b4-map .topic-related .eyebrow{ margin-bottom: .3rem; }
.b4-map .topic-related-list{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .45rem; }
.b4-map .topic-related-list a{ display: grid; gap: .25rem; min-width: 0; padding: .58rem .65rem; border-left: 2px solid var(--gold); background: rgba(255,253,249,.45); }
.b4-map .topic-related-list strong{ overflow: hidden; font-size: .62rem; line-height: 1.3; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-related-list span{ color: var(--muted); font-size: .55rem; }
.b4-map /* V3.19: the topic preview is a compact actor × phase map, .b4-map not a second
   flat actor directory.  Keep the full explorer as the deep surface. */
.topic-inline-map{ overflow-x: auto; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.28); }
.b4-map .topic-inline-map.is-unlinked{ background: rgba(247,244,238,.62); }
.b4-map .topic-inline-map.is-unlinked .topic-inline-cell{ border-style: dotted; opacity: .58; }
.b4-map .topic-inline-header, .b4-map .topic-inline-row{ display: grid; grid-template-columns: minmax(190px, .8fr) minmax(0, 2.2fr); min-width: 720px; }
.b4-map .topic-inline-header{ align-items: stretch; border-bottom: 1px solid var(--line); color: var(--muted); font-size: .54rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .topic-inline-header > span{ display: flex; align-items: end; padding: .65rem .75rem; }
.b4-map .topic-inline-header > div{ display: grid; grid-template-columns: repeat(var(--inline-phase-count), minmax(82px, 1fr)); }
.b4-map .topic-inline-phase{ display: grid; gap: .2rem; min-width: 0; padding: .55rem .48rem; border: 0; border-left: 1px solid var(--line); color: var(--ink-soft); background: transparent; text-align: left; cursor: pointer; }
.b4-map .topic-inline-phase:hover, .b4-map .topic-inline-phase:focus-visible{ background: rgba(185,134,61,.07); outline-offset: -2px; }
.b4-map .topic-inline-phase span{ color: var(--gold); font-size: .48rem; }
.b4-map .topic-inline-phase strong{ overflow: hidden; font-size: .58rem; font-weight: 700; line-height: 1.25; text-overflow: ellipsis; }
.b4-map .topic-inline-row{ min-height: 58px; align-items: center; border-bottom: 1px solid rgba(20,44,69,.08); transition: background .18s, opacity .18s; }
.b4-map .topic-inline-row:last-child{ border-bottom: 0; }
.b4-map .topic-inline-row.is-current{ background: rgba(20,44,69,.035); box-shadow: inset 3px 0 0 var(--navy); }
.b4-map .topic-inline-actor{ display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .55rem; align-items: center; min-width: 0; height: 100%; padding: .55rem .75rem; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .topic-inline-actor:hover, .b4-map .topic-inline-actor:focus-visible{ background: rgba(255,255,255,.78); outline-offset: -3px; }
.b4-map .topic-inline-actor > span:last-child{ display: grid; min-width: 0; gap: .16rem; }
.b4-map .topic-inline-actor strong{ overflow: hidden; font-size: .65rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-inline-actor small{ overflow: hidden; color: var(--muted); font-size: .53rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-inline-cells{ display: grid; grid-template-columns: repeat(var(--inline-phase-count), minmax(82px, 1fr)); height: 100%; }
.b4-map .topic-inline-cell{ position: relative; display: grid; min-width: 0; place-items: center; border: 0; border-left: 1px solid rgba(20,44,69,.08); background: transparent; cursor: pointer; }
.b4-map .topic-inline-cell i{ display: block; width: 12px; height: 12px; border: 2px solid rgba(106,119,133,.28); border-radius: 50%; background: var(--paper); }
.b4-map .topic-inline-cell.is-confirmed i{ border-color: var(--teal); background: var(--teal); box-shadow: 0 0 0 4px rgba(20,141,120,.1); }
.b4-map .topic-inline-cell.is-expected i{ border-color: var(--gold); border-style: dashed; }
.b4-map .topic-inline-cell.is-empty{ pointer-events: none; }
.b4-map .topic-inline-cell:hover, .b4-map .topic-inline-cell:focus-visible, .b4-map .topic-inline-cell.is-highlight{ background: rgba(185,134,61,.09); outline-offset: -2px; }
.b4-map .topic-inline-drawer{ position: relative; margin-top: .8rem; padding: 1rem 1.1rem 1.1rem; border: 1px solid rgba(185,134,61,.38); background: rgba(255,255,255,.88); box-shadow: 0 10px 24px rgba(20,44,69,.07); }
.b4-map .topic-inline-drawer.is-open{ animation: topic-inline-drawer-in .16s ease-out; }
.b4-map .topic-inline-drawer .detail-close{ position: absolute; top: .55rem; right: .6rem; }
.b4-map .topic-inline-drawer h3{ margin: .15rem 2rem .7rem 0; font-family: var(--serif); font-size: 1.35rem; font-weight: 400; }
.b4-map .topic-inline-drawer-identity{ display: flex; align-items: center; gap: .55rem; margin-bottom: .7rem; }
.b4-map .topic-inline-drawer-identity p{ margin: 0; color: var(--muted); font-size: .62rem; }
.b4-map .topic-inline-drawer ul{ display: grid; gap: .35rem; margin: 0 0 .8rem; padding: 0; list-style: none; }
.b4-map .topic-inline-drawer li{ display: flex; justify-content: space-between; gap: 1rem; padding: .4rem 0; border-top: 1px solid var(--line); font-size: .64rem; }
.b4-map .topic-inline-drawer li span{ color: var(--muted); text-align: right; }
.b4-map .topic-inline-drawer .topic-actor-detail-row{ display: grid; justify-content: initial; gap: .16rem; }
.b4-map .topic-inline-drawer .topic-actor-detail-row .drawer-label{ margin-top: .3rem; }
.b4-map .topic-inline-drawer .topic-actor-detail-row .drawer-label:first-child{ margin-top: 0; }
.b4-map .topic-inline-drawer .topic-actor-detail-row span{ text-align: left; }
@keyframes topic-inline-drawer-in{ from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: translateY(0); } }
@media (max-width: 780px){
.b4-map .topic-inline-map{ overflow: visible; }
.b4-map .topic-inline-header{ display: none; }
.b4-map .topic-inline-row{ display: grid; grid-template-columns: 1fr; min-width: 0; gap: .35rem; padding: .45rem 0 .6rem; }
.b4-map .topic-inline-actor{ padding: .35rem .5rem; }
.b4-map .topic-inline-cells{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem; height: auto; padding: 0 .5rem .1rem 2.8rem; }
.b4-map .topic-inline-cell{ min-height: 34px; justify-items: start; padding: .25rem .35rem .25rem 1.2rem; border: 1px solid rgba(20,44,69,.1); background: rgba(255,255,255,.4); }
.b4-map .topic-inline-cell::before{ position: absolute; top: .32rem; left: .32rem; max-width: calc(100% - 1.55rem); overflow: hidden; color: var(--muted); content: attr(data-phase-label); font-size: .47rem; line-height: 1.15; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .topic-inline-cell i{ width: 8px; height: 8px; margin-top: .65rem; }
.b4-map .topic-inline-drawer{ margin-top: .65rem; }
}
.b4-map /* Dedicated topic-specific Actor × Procedure explorer. */
.explorer-page .journey-body{ padding-top: 0; }
.b4-map .explorer-hero{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; padding: 1.35rem 0 1.5rem; }
.b4-map .explorer-hero h1{ margin-bottom: .45rem; font-size: clamp(2.4rem, 4.3vw, 4.25rem); }
.b4-map .explorer-hero-note{ margin: .7rem 0 1rem; color: var(--ink-soft); font-size: .72rem; }
.b4-map .explorer-block{ padding-top: 1.5rem; }
.b4-map .explorer-intro{ max-width: 780px; margin: -.25rem 0 1rem; color: var(--ink-soft); font-size: .7rem; line-height: 1.5; }
.b4-map .explorer-spine{ display: grid; grid-template-columns: repeat(var(--phase-count, 6), minmax(180px, 1fr)); gap: .6rem; min-width: max(100%, calc(var(--phase-count, 6) * 180px)); padding: .35rem 0 .65rem; }
.b4-map .explorer-phase{ position: relative; min-width: 180px; padding-top: .75rem; border-top: 2px solid var(--gold); background: rgba(255,253,249,.4); transition: opacity .18s, box-shadow .18s; }
.b4-map .explorer-phase::before{ position: absolute; top: -.43rem; left: .75rem; width: .62rem; height: .62rem; content: ''; border: 2px solid var(--gold); border-radius: 50%; background: var(--paper); }
.b4-map .explorer-phase.confirmed{ border-top-color: var(--teal); }
.b4-map .explorer-phase.confirmed::before{ border-color: var(--teal); }
.b4-map .explorer-phase.current{ border-top-color: var(--navy); background: rgba(20,44,69,.045); }
.b4-map .explorer-phase.current::before{ border-color: var(--navy); background: var(--navy); box-shadow: 0 0 0 4px rgba(20,44,69,.12); }
.b4-map .explorer-phase.expected{ border-top-style: dashed; border-top-color: #969d99; }
.b4-map .explorer-phase.expected::before{ border-style: dashed; border-color: #969d99; }
.b4-map .explorer-phase-head{ display: grid; width: 100%; min-height: 104px; gap: .32rem; padding: 0 .7rem .65rem; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .explorer-phase-head:hover, .b4-map .explorer-phase-head:focus-visible{ background: rgba(255,255,255,.72); outline-offset: -3px; }
.b4-map .explorer-phase-head span{ color: var(--gold); font-size: .51rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .explorer-phase.confirmed .explorer-phase-head span{ color: var(--teal); }
.b4-map .explorer-phase.current .explorer-phase-head span{ color: var(--navy); }
.b4-map .explorer-phase.expected .explorer-phase-head span{ color: var(--muted); }
.b4-map .explorer-phase-head strong{ display: -webkit-box; overflow: hidden; min-height: 2.8em; font-family: var(--serif); font-size: .84rem; font-weight: 400; line-height: 1.32; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .explorer-phase-head small{ color: var(--muted); font-size: .57rem; }
.b4-map .explorer-phase-actors{ display: grid; gap: .4rem; padding: .1rem .7rem .7rem; }
.b4-map .explorer-actor-node{ display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .35rem .45rem; align-items: center; min-width: 0; padding: .48rem; border: 1px solid var(--line); border-left: 2px solid var(--teal); color: var(--ink); background: var(--white); text-align: left; cursor: pointer; transition: opacity .18s, border-color .18s, box-shadow .18s; }
.b4-map .explorer-actor-node.expected{ border-left-style: dashed; border-left-color: #969d99; }
.b4-map .explorer-actor-node:hover, .b4-map .explorer-actor-node:focus-visible{ border-color: var(--gold); outline-offset: -2px; }
.b4-map .explorer-actor-mark{ display: inline-grid; width: 25px; height: 25px; place-items: center; overflow: hidden; border: 1px solid rgba(185,134,61,.35); border-radius: 50%; color: var(--navy); background: var(--paper); font-size: .44rem; font-weight: 800; }
.b4-map .explorer-actor-mark img{ width: 100%; height: 100%; object-fit: contain; padding: .16rem; }
.b4-map .explorer-actor-node strong, .b4-map .explorer-actor-node small{ grid-column: 2; min-width: 0; }
.b4-map .explorer-actor-node strong{ overflow: hidden; font-size: .61rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .explorer-actor-node small{ color: var(--muted); font-size: .51rem; line-height: 1.3; }
.b4-map .explorer-actor-node .explorer-actor-mark{ grid-row: 1 / span 2; grid-column: 1; }
.b4-map .explorer-drawer{ position: fixed; z-index: 60; top: 82px; right: 0; bottom: 0; width: min(390px, 34vw); overflow: auto; padding: 2.1rem 1.5rem 2rem; border-left: 1px solid var(--line); color: var(--ink); background: rgba(255,253,249,.98); box-shadow: -18px 0 42px rgba(20,44,69,.12); transform: translateX(100%); transition: transform .2s ease; }
.b4-map .explorer-drawer.is-open{ transform: translateX(0); }
.b4-map .explorer-drawer .detail-close{ position: absolute; top: .8rem; right: 1rem; border: 0; color: var(--muted); background: transparent; font-size: 1.4rem; cursor: pointer; }
.b4-map .explorer-drawer h3{ max-width: 300px; margin-bottom: 1.2rem; font-size: 1.55rem; }
.b4-map .explorer-drawer section{ padding: .75rem 0; border-top: 1px solid var(--line); }
.b4-map .drawer-label{ margin: 0 0 .35rem; color: var(--gold); font-size: .53rem; font-weight: 800; letter-spacing: .13em; }
.b4-map .explorer-drawer section > p:not(.drawer-label){ margin: 0; color: var(--ink-soft); font-size: .69rem; line-height: 1.45; }
.b4-map .explorer-drawer-identity{ display: flex; align-items: center; gap: .6rem; margin-bottom: .6rem; }
.b4-map .explorer-drawer-identity p{ margin: 0; color: var(--muted); font-size: .6rem; }
.b4-map .explorer-drawer-list{ display: grid; gap: .45rem; padding: 0; margin: 0; list-style: none; }
.b4-map .explorer-drawer-list li{ display: grid; gap: .15rem; padding: .45rem .5rem; border-left: 2px solid var(--teal); background: rgba(20,141,120,.045); }
.b4-map .explorer-drawer-list li.is-expected{ border-left-style: dashed; border-left-color: #969d99; background: rgba(150,157,153,.07); }
.b4-map .explorer-drawer-list strong{ font-size: .63rem; line-height: 1.3; }
.b4-map .explorer-drawer-list span{ color: var(--muted); font-size: .56rem; line-height: 1.35; }
.b4-map .explorer-empty-line{ margin: 0; color: var(--muted); font-size: .62rem; line-height: 1.4; }
.b4-map .topic-evidence-link{ display: inline-block; margin: .28rem .5rem 0 0; color: var(--gold); font-size: .58rem; font-weight: 800; }
.b4-map .explorer-drawer > .text-link{ display: inline-block; margin-top: .9rem; }
.b4-map .explorer-back-link{ display: inline-block; margin-top: 1rem; }
@media (max-width: 1040px){
.b4-map .topic-hero-grid{ grid-template-columns: 1fr; gap: 1.6rem; }
.b4-map .topic-decision-brief-grid{ grid-template-columns: 1fr; }
.b4-map .topic-decision-brief-grid article, .b4-map .topic-decision-brief-grid article + article{ padding: .7rem 0; border-left: 0; }
.b4-map .topic-hero-copy h1{ max-width: 760px; }
.b4-map .topic-evidence-grid{ gap: 1rem; }
.b4-map .topic-related{ grid-template-columns: 1fr; gap: .8rem; align-items: start; }
.b4-map .topic-related .muted-link{ justify-self: start; }
.b4-map .explorer-drawer{ width: min(390px, 44vw); }
}
@media (max-width: 780px){
.b4-map .topic-hero-block, .b4-map .explorer-hero, .b4-map .journey-body > .topic-block{ width: min(100% - 32px, var(--content)); }
.b4-map .topic-hero-block{ padding-top: 1.05rem; }
.b4-map .topic-hero-block .breadcrumb{ margin-bottom: 1.2rem; }
.b4-map .topic-hero-copy h1{ font-size: clamp(2.15rem, 10.3vw, 3.1rem); }
.b4-map .topic-official-title{ margin-top: -.1rem; }
.b4-map .topic-official-title strong{ font-size: .68rem; }
.b4-map .topic-lede{ font-size: .82rem; }
.b4-map .topic-now-line{ align-items: flex-start; flex-direction: column; gap: .28rem; }
.b4-map .topic-now-actor{ padding-left: 1.15rem; }
.b4-map .topic-hero-facts{ grid-template-columns: 1fr; }
.b4-map .topic-hero-facts article, .b4-map .topic-hero-facts article:nth-child(even), .b4-map .topic-hero-facts .topic-fact-why{ padding: .7rem 0; border-left: 0; }
.b4-map .topic-hero-facts .topic-fact-why{ grid-column: auto; }
.b4-map .topic-block{ padding: 1.3rem 0 1.45rem; }
.b4-map .topic-block-heading{ align-items: flex-start; flex-direction: column; gap: .45rem; }
.b4-map .topic-block-heading h2{ font-size: 1.5rem; }
.b4-map .procedure-rail{ grid-template-columns: 1fr; min-width: 0; gap: .6rem; }
.b4-map .procedure-tracks{ display: grid; grid-template-columns: 1fr; }
.b4-map .procedure-track b{ max-width: none; white-space: normal; }
.b4-map .compact-track-summary-row{ display: flex; flex-wrap: wrap; gap: .16rem .65rem; padding: .27rem 0 .32rem; }
.b4-map .compact-track-summary-cell{ display: block; min-width: 0; }
.b4-map .compact-track-summary-cell > span{ display: inline; margin-right: .32rem; font-size: .47rem; }
.b4-map .compact-track-summary-cell > strong{ display: inline; font-size: .6rem; line-height: 1.3; }
.b4-map .compact-track-name{ flex: 0 0 100%; }
.b4-map .compact-track-state{ flex: 1 1 0; }
.b4-map .compact-track-actor{ flex: 1.35 1 0; }
.b4-map .compact-track-next{ flex: 0 0 100%; }
.b4-map .compact-track-state > span, .b4-map .compact-track-actor > span{ display: block; margin-right: 0; }
.b4-map .compact-track-state > strong, .b4-map .compact-track-actor > strong{ display: block; }
.b4-map .compact-track-summary-cell > strong{ font-size: .6rem; line-height: 1.3; }
.b4-map .compact-track-name > strong{ font-size: .74rem; }
.b4-map .compact-track-next > strong{ display: inline; overflow: visible; }
.b4-map .compact-track-actor > strong{ display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.b4-map .compact-track-summary{ padding-top: .8rem; padding-bottom: .82rem; }
.b4-map .compact-track-summary .topic-block-heading{ display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: .5rem; margin-bottom: .48rem; }
.b4-map .compact-track-summary .topic-block-heading h2{ font-size: 1.25rem; }
.b4-map .compact-track-summary .compact-track-summary-note{ display: none; }
.b4-map .procedure-phase{ min-width: 0; display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: .2rem; padding: .65rem 0 .45rem; border-top: 0; border-left: 2px solid var(--gold); }
.b4-map .procedure-phase.confirmed{ border-left-color: var(--teal); }
.b4-map .procedure-phase.current{ border-left-color: var(--navy); border-top: 0; box-shadow: inset 2px 0 0 var(--navy); }
.b4-map .procedure-phase.expected{ border-left-style: dashed; border-left-color: #969d99; }
.b4-map .procedure-phase.unknown{ border-left-style: dashed; border-left-color: #b7b0a5; }
.b4-map .procedure-phase.expected.no-actors{ display: block; min-height: 0; padding: .38rem 0 .28rem; }
.b4-map .procedure-phase.expected.no-actors .procedure-phase-head{ display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .2rem .55rem; align-items: center; padding: .02rem .65rem .08rem; }
.b4-map .procedure-phase.expected.no-actors .phase-date, .b4-map .procedure-phase.expected.no-actors .phase-actors{ display: none; }
.b4-map .procedure-phase.expected.no-actors .phase-index{ grid-row: 1; }
.b4-map .procedure-phase.expected.no-actors strong{ grid-row: 1; }
.b4-map .procedure-phase-head{ min-height: 0; padding: .05rem .65rem .35rem; }
.b4-map .phase-event{ margin: 0 .55rem .35rem 0; }
.b4-map .phase-actors{ padding: .05rem .55rem .35rem 0; }
.b4-map .topic-actor-preview-grid, .b4-map .topic-watch-list, .b4-map .topic-evidence-grid{ grid-template-columns: 1fr; }
.b4-map .topic-actor-preview-row{ grid-template-columns: auto minmax(0, 1fr); }
.b4-map .topic-actor-phases{ grid-column: 2; text-align: left; }
.b4-map .topic-document-row, .b4-map .topic-media-row{ grid-template-columns: 1fr; gap: .18rem; align-items: start; }
.b4-map .topic-document-row small, .b4-map .topic-media-row small{ text-align: left; white-space: normal; }
.b4-map .topic-related-list{ grid-template-columns: 1fr; }
.b4-map .explorer-hero{ padding-top: 1.05rem; }
.b4-map .explorer-hero h1{ font-size: clamp(2.15rem, 10vw, 3.1rem); }
.b4-map .explorer-spine{ grid-template-columns: 1fr; min-width: 0; gap: .75rem; }
.b4-map .explorer-phase{ min-width: 0; padding-top: .65rem; border-top: 0; border-left: 2px solid var(--gold); }
.b4-map .explorer-phase.confirmed{ border-left-color: var(--teal); }
.b4-map .explorer-phase.current{ border-left-color: var(--navy); }
.b4-map .explorer-phase.expected{ border-left-style: dashed; border-left-color: #969d99; }
.b4-map .explorer-phase::before{ top: .8rem; left: -.42rem; }
.b4-map .explorer-phase-head{ min-height: 0; padding: .05rem .75rem .6rem; }
.b4-map .explorer-phase-actors{ padding: 0 .75rem .75rem; }
.b4-map .explorer-drawer{ top: auto; right: 0; bottom: 0; width: 100%; max-height: 82vh; padding: 1.7rem 1rem 1.25rem; border-top: 1px solid var(--line); border-left: 0; border-radius: 16px 16px 0 0; transform: translateY(100%); }
.b4-map .explorer-drawer.is-open{ transform: translateY(0); }
}
.b4-map /* V2.7: institutional power map. Rings carry the hierarchy; nodes carry
   identity and activity. The old category-count strip is intentionally not
   rendered by the public map. */
.map-rings{
  inset: 3% 2%;
  background:
    radial-gradient(circle at center, transparent 0 18%, rgba(12,39,64,.42) 18.15% 18.35%, transparent 18.55% 35%, rgba(185,134,61,.28) 35.15% 35.34%, transparent 35.54% 52%, rgba(185,134,61,.22) 52.15% 52.34%, transparent 52.54% 70%, rgba(20,141,120,.18) 70.15% 70.34%, transparent 70.54% 100%),
    linear-gradient(90deg, transparent 49.92%, rgba(185,134,61,.08) 50%, transparent 50.08%),
    linear-gradient(0deg, transparent 49.92%, rgba(185,134,61,.08) 50%, transparent 50.08%);
  mask-image: radial-gradient(ellipse at center, #000 0 80%, transparent 96%);
}
.b4-map .ring-label{ position: absolute; color: rgba(20,44,69,.52); font-size: .48rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .ring-decision{ top: 30%; left: 50%; transform: translateX(-50%); color: rgba(12,39,64,.72); }
.b4-map .ring-legislation{ top: 21%; left: 50%; transform: translateX(-50%); }
.b4-map .ring-implementation{ top: 12%; left: 50%; transform: translateX(-50%); }
.b4-map .ring-participation{ top: 3%; left: 50%; transform: translateX(-50%); color: rgba(20,141,120,.62); }
.b4-map .relation-line{ transition: opacity .18s, stroke-width .18s; }
.b4-map .relation-line.relation-decision{ stroke: rgba(12,39,64,.86); stroke-width: 2.5; }
.b4-map .relation-line.relation-direction{ stroke: rgba(185,134,61,.88); stroke-width: 2.1; }
.b4-map .relation-line.relation-legislation{ stroke: rgba(77,127,171,.82); stroke-width: 1.8; }
.b4-map .relation-line.relation-regulation{ stroke: rgba(77,137,194,.78); stroke-width: 1.55; stroke-dasharray: 2 4; }
.b4-map .relation-line.relation-implementation{ stroke: rgba(20,141,120,.72); stroke-width: 1.35; }
.b4-map .relation-line.relation-participation{ stroke: rgba(118,126,128,.62); stroke-width: 1.15; stroke-dasharray: 5 6; }
.b4-map .relation-line.is-highlight{ opacity: 1; stroke-width: 3; }
.b4-map .stakeholder-map:has(.stakeholder-node:hover) .relation-line:not(.is-highlight){ opacity: .16; }
.b4-map .stakeholder-node.is-dimmed{ opacity: .24; }
.b4-map .stakeholder-node.is-highlight{ opacity: 1; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(185,134,61,.16), 0 11px 24px rgba(20,44,69,.14); }
.b4-map .institution-identity{ display: grid; width: 25px; height: 25px; min-width: 25px; place-items: center; margin-bottom: .32rem; overflow: hidden; border: 1px solid rgba(185,134,61,.56); border-radius: 50%; color: var(--navy); background: rgba(247,244,238,.94); font-size: .43rem; font-weight: 900; letter-spacing: -.02em; line-height: 1; }
.b4-map .actor-node-identity{ display: grid; width: 18px; height: 18px; place-items: center; margin-bottom: .2rem; border: 1px solid rgba(185,134,61,.45); border-radius: 50%; color: var(--navy); background: var(--paper); font-size: .38rem; font-weight: 900; }
.b4-map .identity-territory{ color: var(--teal); border-color: rgba(20,141,120,.5); }
.b4-map .identity-parliament{ color: #4d7fab; border-color: rgba(77,127,171,.5); }
.b4-map .identity-eu, .b4-map .identity-eu-commission, .b4-map .identity-eu-agency, .b4-map .identity-eu-parliament, .b4-map .identity-eu-council{ color: #315d9c; border-color: rgba(49,93,156,.42); }
.b4-map .identity-logo{ object-fit: contain; padding: .22rem; }
.b4-map .stakeholder-node .node-activity{ color: var(--gold); }
.b4-map .stakeholder-node .node-lineage{ max-width: 104px; overflow: hidden; color: var(--teal); font-size: .42rem; letter-spacing: 0; text-overflow: ellipsis; text-transform: none; white-space: nowrap; }
.b4-map .map-hover-detail{ position: absolute; z-index: 8; top: .85rem; right: .85rem; display: grid; max-width: 230px; gap: .2rem; padding: .58rem .68rem; border-left: 2px solid var(--gold); background: rgba(255,253,249,.93); box-shadow: 0 8px 18px rgba(20,44,69,.08); font-size: .58rem; line-height: 1.35; }
.b4-map .map-hover-detail strong{ color: var(--ink); font-size: .64rem; }
.b4-map .map-hover-detail span{ color: var(--gold); }
.b4-map .map-hover-detail small{ color: var(--muted); font-size: .53rem; }
.b4-map .cluster-preview[hidden]{ display: none !important; }
.b4-map .map-hover-detail[hidden]{ display: none !important; }
.b4-map .agenda-note{ display: none; }
@media (max-width: 780px){
.b4-map .ring-label{ font-size: .4rem; letter-spacing: .08em; }
.b4-map .ring-decision{ top: 30%; }
.b4-map .ring-legislation{ top: 21%; }
.b4-map .ring-implementation{ top: 12%; }
.b4-map .ring-participation{ top: 3%; }
.b4-map .map-hover-detail{ top: .55rem; right: .55rem; max-width: 180px; }
.b4-map .institution-identity{ width: 21px; height: 21px; min-width: 21px; font-size: .38rem; }
}
.b4-map /* V2.6: power-map geometry, .b4-map real CCAA clustering, .b4-map and shared topic interaction. */
.map-legend .legend-dot.distance{ border: 1px solid var(--navy); background: var(--navy); }
.b4-map .map-legend .legend-dot.activity{ border: 2px solid var(--gold); background: transparent; box-shadow: 0 0 0 3px rgba(184,137,59,.14); }
.b4-map .map-legend .legend-line{ display: inline-block; width: 20px; height: 0; border-top: 2px solid var(--gold); }
.b4-map .map-legend .legend-line.dashed{ border-top-style: dashed; border-top-color: #8e9693; }
.b4-map .legend-power-labels{ display: flex; flex-wrap: wrap; gap: .3rem .45rem; margin-top: .7rem; color: var(--ink); font-size: .54rem; }
.b4-map .legend-power-labels b{ padding: .2rem .3rem; border: 1px solid rgba(184,137,59,.26); font-weight: 800; }
.b4-map .map-lines .relation-line.solid{ stroke-dasharray: none; }
.b4-map .map-lines .relation-line.dashed{ stroke-dasharray: 8 7; opacity: .65; }
.b4-map .stakeholder-node{ left: var(--node-x); top: var(--node-y); transform: translate(-50%, -50%); transition: border-color .2s, box-shadow .2s, transform .2s, opacity .2s; }
.b4-map .stakeholder-node:hover, .b4-map .stakeholder-node:focus-visible, .b4-map .stakeholder-node[aria-expanded="true"]{ transform: translate(-50%, -50%) scale(1.045); }
.b4-map .stakeholder-node.cluster-node{ border-width: 2px; border-color: var(--teal); background: rgba(225,241,235,.95); }
.b4-map .stakeholder-node.cluster-node .node-mark{ background: var(--teal); }
.b4-map .cluster-preview{ position: absolute; z-index: 12; top: 1.1rem; right: 1rem; display: grid; max-width: 260px; gap: .22rem; padding: .55rem .65rem; border: 1px solid var(--gold-soft); background: rgba(255,253,249,.98); box-shadow: 0 10px 24px rgba(20,44,69,.12); font-size: .58rem; line-height: 1.35; }
.b4-map .cluster-preview b{ color: var(--ink); font-size: .61rem; }
.b4-map .cluster-preview span{ color: var(--muted); }
.b4-map .stakeholder-detail-role strong, .b4-map .stakeholder-detail-evidence strong{ color: var(--gold); font-size: .58rem; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .stakeholder-detail-role br + *, .b4-map .stakeholder-detail-evidence br + *{ color: var(--ink-soft); }
.b4-map .detail-section-label{ margin: .8rem 0 .4rem; color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .detail-cluster-items{ display: grid; gap: .35rem; max-height: 220px; overflow: auto; }
.b4-map .detail-cluster-item{ display: grid; gap: .1rem; padding: .45rem .5rem; border: 1px solid var(--line); color: var(--ink); background: var(--white); text-align: left; cursor: pointer; }
.b4-map .detail-cluster-item:hover, .b4-map .detail-cluster-item:focus-visible{ border-color: var(--gold); }
.b4-map .detail-cluster-item strong{ font-size: .62rem; }
.b4-map .detail-cluster-item span{ color: var(--muted); font-size: .55rem; }
.b4-map .actor-node{ left: var(--actor-x); top: var(--actor-y); transform: translate(-50%, -50%); cursor: pointer; transition: border-color .18s, box-shadow .18s, opacity .18s, transform .18s; }
.b4-map .actor-node:nth-of-type(1), .b4-map .actor-node:nth-of-type(2), .b4-map .actor-node:nth-of-type(3), .b4-map .actor-node:nth-of-type(4), .b4-map .actor-node:nth-of-type(5), .b4-map .actor-node:nth-of-type(6){ right: auto; bottom: auto; }
.b4-map .actor-node:hover, .b4-map .actor-node:focus-visible, .b4-map .actor-node.is-highlight{ border-color: var(--gold); box-shadow: 0 0 0 3px rgba(184,137,59,.2), 0 9px 20px rgba(20,44,69,.12); transform: translate(-50%, -50%) scale(1.04); }
.b4-map .actor-node.is-dimmed{ opacity: .24; }
.b4-map .actor-map .is-dimmed{ opacity: .24; }
.b4-map .timeline-panel [data-phase-id]{ cursor: pointer; transition: opacity .18s, box-shadow .18s, border-color .18s; }
.b4-map .timeline-panel [data-phase-id].is-highlight{ box-shadow: 0 0 0 2px rgba(184,137,59,.48), 0 8px 18px rgba(20,44,69,.08); }
.b4-map .timeline-panel [data-phase-id].is-dimmed{ opacity: .25; }
.b4-map .topic-actor-drawer{ position: absolute; z-index: 10; right: .8rem; bottom: .8rem; width: min(300px, calc(100% - 1.6rem)); max-height: 78%; overflow: auto; padding: 1rem 1.2rem 1rem 1rem; border: 1px solid var(--gold-soft); background: rgba(255,253,249,.98); box-shadow: 0 15px 32px rgba(20,44,69,.15); opacity: 0; transform: translateY(10px); transition: opacity .18s, transform .18s; }
.b4-map .topic-actor-drawer.is-open{ opacity: 1; transform: translateY(0); }
.b4-map .topic-actor-drawer h3{ margin-bottom: .6rem; font-size: 1rem; }
.b4-map .topic-actor-drawer .detail-close{ top: .35rem; right: .45rem; }
.b4-map .drawer-label{ margin: .65rem 0 .2rem; color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .topic-relation-list{ display: grid; gap: .38rem; padding: 0; margin: .25rem 0 0; list-style: none; }
.b4-map .topic-relation-row{ display: grid; gap: .1rem; padding: .42rem .5rem; border-left: 3px solid var(--teal); background: rgba(225,241,235,.35); }
.b4-map .topic-relation-row.expected{ border-left-style: dashed; border-left-color: #919995; background: rgba(236,235,231,.55); }
.b4-map .topic-relation-row strong{ font-size: .62rem; line-height: 1.25; }
.b4-map .topic-relation-row span, .b4-map .topic-relation-empty{ color: var(--muted); font-size: .57rem; line-height: 1.35; }
.b4-map .topic-relation-empty{ padding: .35rem 0; }
.b4-map .topic-evidence-link{ color: var(--gold); font-size: .56rem; font-weight: 800; }
@media (max-width: 780px){
.b4-map .stakeholder-node{ transform: translate(-50%, -50%); }
.b4-map .stakeholder-node:hover, .b4-map .stakeholder-node:focus-visible, .b4-map .stakeholder-node[aria-expanded="true"]{ transform: translate(-50%, -50%) scale(1.035); }
.b4-map .cluster-preview{ top: .6rem; right: .6rem; left: .6rem; max-width: none; }
.b4-map .topic-actor-drawer{ position: fixed; right: 0; bottom: 0; left: 0; width: 100%; max-height: 72vh; border-right: 0; border-bottom: 0; border-radius: 14px 14px 0 0; transform: translateY(18px); }
.b4-map .topic-actor-drawer.is-open{ transform: translateY(0); }
}
.b4-map /* V2.4 graph contract: structural clusters remain visible while activity is
   expressed as a separate state, .b4-map never by replacing the catalogue node. */
.map-clusters{ position: absolute; z-index: 1; top: 1rem; left: 1rem; display: flex; max-width: 54%; flex-wrap: wrap; gap: .35rem; }
.b4-map .map-clusters span{ display: grid; gap: .12rem; padding: .34rem .48rem; border: 1px solid rgba(184,137,59,.22); border-radius: 999px; background: rgba(255,255,255,.72); color: var(--ink-soft); font-size: .5rem; }
.b4-map .map-clusters b{ color: var(--ink); font-size: .52rem; }
.b4-map .map-clusters small{ font-size: .47rem; }
.b4-map .stakeholder-node.is-active{ border-color: var(--gold); box-shadow: 0 0 0 5px rgba(184,137,59,.12), 0 8px 22px rgba(17,31,66,.12); }
.b4-map .stakeholder-node.is-active .node-mark{ box-shadow: 0 0 0 4px rgba(184,137,59,.18); }
.b4-map .stakeholder-node.layer-executive{ border-width: 2px; }
.b4-map .stakeholder-node.layer-legislative{ border-style: dashed; }
.b4-map .stakeholder-node.layer-regulators_technical{ box-shadow: 0 0 0 4px rgba(77,137,194,.08), 0 5px 16px rgba(17,31,66,.07); }
.b4-map .stakeholder-node.layer-implementation_coordination{ border-color: rgba(42,171,148,.55); }
.b4-map .stakeholder-node.layer-ecosystem{ border-color: rgba(184,137,59,.42); }
.b4-map .legend-dot.executive{ color: var(--navy); background: var(--navy); }
.b4-map .legend-dot.legislative{ color: var(--gold); background: transparent; }
.b4-map .legend-dot.regulators_technical{ color: #4d89c2; background: transparent; }
.b4-map .legend-dot.implementation_coordination{ color: var(--teal); background: transparent; }
.b4-map .legend-dot.ecosystem{ color: #b8893b; background: transparent; }
.b4-map .timeline-subheading{ margin: 1.1rem 0 .55rem; color: var(--muted); font-size: .61rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .timeline-track.roadmap-track{ grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.b4-map .timeline-disclaimer, .b4-map .timeline-empty{ margin-top: .9rem; color: var(--muted); font-size: .68rem; line-height: 1.5; }
.b4-map .timeline-more, .b4-map .coverage-more, .b4-map .dossier-related{ margin-top: .85rem; border-top: 1px solid rgba(20,44,69,.12); padding-top: .7rem; }
.b4-map .timeline-more summary, .b4-map .coverage-more summary, .b4-map .dossier-related summary{ cursor: pointer; color: var(--navy); font-size: .68rem; font-weight: 800; letter-spacing: .03em; }
.b4-map .timeline-more[open] summary, .b4-map .coverage-more[open] summary, .b4-map .dossier-related[open] summary{ margin-bottom: .7rem; }
.b4-map .timeline-more .timeline-track{ margin-top: .2rem; }
.b4-map .coverage-more .signals-grid{ margin-top: .7rem; }
.b4-map .dossier-journeys-list{ display: grid; gap: .55rem; margin-top: .7rem; }
.b4-map .institution-material-events li strong{ font-weight: 700; }
.b4-map .institution-material-events .event-source{ color: var(--gold); font-weight: 800; }
@media (max-width: 780px){
.b4-map .map-clusters{ position: static; max-width: 100%; margin: .7rem 1rem 0; }
.b4-map .timeline-track.roadmap-track{ display: block; }
}
@media (max-width: 390px){
.b4-map .area-grid, .b4-map .home-areas .area-grid{ grid-template-columns: 1fr; }
.b4-map .actor-node{ max-width: 106px; }
.b4-map .network-center{ width: 112px; min-height: 112px; }
}
.b4-map /* V3.8: actor-to-actor relations use one restrained system; semantics are
   carried by stroke pattern and the accessible drawer, .b4-map not a rainbow graph. */
.relation-institution-line{ stroke: rgba(12,39,64,.34); stroke-width: 1.25; }
.b4-map .relation-institution-line.solid{ stroke: rgba(12,39,64,.48); }
.b4-map .relation-institution-line.dashed{ stroke: rgba(185,134,61,.5); stroke-dasharray: 7 6; }
.b4-map .relation-institution-line.is-highlight{ stroke: var(--gold); stroke-width: 2.5; opacity: 1; }
.b4-map .legend-toggle{ display: inline-flex; align-items: center; gap: .35rem; padding: 0; border: 0; color: var(--ink); background: transparent; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.b4-map .legend-toggle span{ margin: 0; color: var(--gold); font-size: .82rem; }
.b4-map .legend-content[hidden]{ display: none; }
.b4-map .legend-content{ margin-top: .55rem; }
.b4-map .institution-identity{ width: 30px; height: 30px; min-width: 30px; font-size: .44rem; }
.b4-map /* Atlas product surface: shared Normativo navigation and area map */
:root{
  --navy: #1a2e5e;
  --navy-deep: #111f42;
  --navy-mid: #243570;
  --ink: #1a2e5e;
  --ink-soft: #4a5578;
  --muted: #8a91aa;
  --paper: #f9f8f6;
  --paper-deep: #f0ede7;
  --white: #fff;
  --line: #e5e2db;
  --gold: #b8893b;
  --gold-soft: #f0e4cf;
  --teal: #2aab94;
}
.b4-map{ color: var(--ink); background: var(--paper); }
.b4-map .site-header{ position: sticky; top: 0; border-bottom-color: var(--line); background: rgba(255,255,255,.96); backdrop-filter: blur(12px); }
.b4-map .header-inner{ width: min(1280px, calc(100% - 104px)); min-height: 66px; }
.b4-map .brand{ min-width: 0; gap: .8rem; }
.b4-map .brand img{ width: 154px; }
.b4-map .brand-divider{ width: 1px; height: 30px; background: var(--gold); opacity: .7; }
.b4-map .brand-subtitle{ display: inline; color: var(--muted); font-size: .77rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.b4-map .primary-nav{ height: 66px; gap: 2.9rem; color: var(--ink); font-size: .82rem; font-weight: 600; }
.b4-map .primary-nav > a{ height: 66px; }
.b4-map .primary-nav a:hover, .b4-map .primary-nav a.is-active{ color: var(--navy); }
.b4-map .primary-nav a.is-active::after{ background: var(--gold); }
.b4-map .areas-menu{ position: relative; height: 66px; }
.b4-map .areas-menu summary{ display: inline-flex; height: 66px; align-items: center; gap: .65rem; color: var(--ink); cursor: pointer; list-style: none; }
.b4-map .areas-menu summary::-webkit-details-marker{ display: none; }
.b4-map .areas-menu summary span{ color: var(--muted); font-size: 1rem; line-height: 1; transform: translateY(-1px); }
.b4-map .areas-menu[open] summary{ color: var(--gold); }
.b4-map .area-menu-list{ position: absolute; top: calc(100% + 1px); right: 0; display: block; width: 250px; padding: .7rem; border: 1px solid var(--line); background: var(--white); box-shadow: 0 16px 36px rgba(17,31,66,.13); }
.b4-map .area-menu-links{ min-width: 0; display: grid; align-content: start; gap: .05rem; padding: .15rem .35rem .25rem; }
.b4-map .area-menu-list a{ display: block; height: auto; padding: .62rem .72rem; color: var(--ink); font-size: .72rem; font-weight: 600; }
.b4-map .area-menu-list a:hover{ color: var(--gold); background: var(--paper); }
.b4-map .static-product-content section{ margin-top: 1.35rem; max-width: 760px; }
.b4-map .static-product-content h2{ margin: .35rem 0 .7rem; font-size: 1.15rem; }
.b4-map .static-product-content > p:not(.eyebrow){ max-width: 680px; color: var(--ink-soft); line-height: 1.65; }
.b4-map .static-link-list{ display: grid; gap: .45rem; padding: 0; margin: .65rem 0 0; list-style: none; }
.b4-map .static-link-list li, .b4-map .static-link-list a{ display: grid; gap: .18rem; }
.b4-map .static-link-list a{ padding: .58rem .68rem; border: 1px solid var(--line); color: var(--ink); background: rgba(255,255,255,.55); }
.b4-map .static-link-list a:hover{ border-color: var(--gold); }
.b4-map .static-link-list span{ color: var(--muted); font-size: .68rem; }
.b4-map .menu-toggle{ color: var(--ink); }
.b4-map /* Home keeps the institutional composition, .b4-map with navigation areas below the copy. */
.home-hero{ min-height: calc(100svh - 66px); background-image: linear-gradient(90deg, rgba(249,248,246,1) 0%, rgba(249,248,246,.98) 38%, rgba(249,248,246,.64) 66%, rgba(249,248,246,.08) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); }
.b4-map .home-hero::after{ background: linear-gradient(180deg, rgba(249,248,246,.05), rgba(249,248,246,.04) 65%, rgba(249,248,246,.64)); }
.b4-map .home-inner{ display: block; width: min(1280px, calc(100% - 104px)); min-height: calc(100svh - 66px); padding: 6.2rem 0 4.2rem; }
.b4-map .home-copy{ max-width: 860px; }
.b4-map .home-copy h1{ max-width: 820px; font-size: clamp(3rem, 5.4vw, 5rem); }
.b4-map .home-copy .lede{ max-width: 580px; }
.b4-map .home-areas{ max-width: 820px; margin-top: 3.5rem; padding: 0; }
.b4-map .home-areas .eyebrow{ margin-bottom: .9rem; }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .65rem; }
.b4-map .area-tile{ min-height: 112px; padding: 1rem .8rem .8rem; border-color: rgba(184,137,59,.32); background: rgba(255,255,255,.66); }
.b4-map .area-tile h2{ font-size: .72rem; line-height: 1.35; }
.b4-map .area-tile .arrow-link{ font-size: .66rem; }
.b4-map /* Area: the graph owns the first screen; topics begin after it. */
.area-hero{ min-height: calc(100svh - 100px); padding: 2.15rem 0 2rem; background-image: radial-gradient(circle at 76% 44%, rgba(184,137,59,.08) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 76% 44%, transparent 0 105px, rgba(184,137,59,.06) 106px 107px, transparent 108px 210px); background-position: center; background-size: auto, auto; }
.b4-map .area-hero::after{ background: linear-gradient(180deg, rgba(249,248,246,.08), rgba(249,248,246,.24)); }
.b4-map .area-hero-inner{ display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); align-items: stretch; gap: 2.5rem; width: min(1280px, calc(100% - 104px)); min-height: calc(100svh - 166px); }
.b4-map .area-copy{ position: relative; z-index: 2; padding-top: .5rem; }
.b4-map .area-hero .breadcrumb{ margin-bottom: 2.1rem; }
.b4-map .area-hero h1{ margin-bottom: .35rem; font-size: clamp(2.7rem, 4.2vw, 4.1rem); }
.b4-map .area-hero .gold-rule{ margin: .95rem 0 1.15rem; }
.b4-map .area-description{ max-width: 270px; margin-bottom: 1.7rem; color: var(--ink-soft); font-size: .83rem; line-height: 1.65; }
.b4-map .map-legend{ padding: 1rem 1rem .85rem; border: 1px solid rgba(184,137,59,.25); background: rgba(255,255,255,.48); }
.b4-map .legend-title{ margin-bottom: .8rem; color: var(--ink); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .map-legend span{ display: flex; align-items: center; gap: .48rem; margin-top: .47rem; color: var(--ink-soft); font-size: .65rem; }
.b4-map .legend-dot{ display: inline-block; width: .85rem; height: .85rem; border: 1px solid currentColor; border-radius: 50%; }
.b4-map .legend-dot.competence{ color: var(--navy); background: var(--navy); }
.b4-map .legend-dot.influence{ color: var(--gold); background: transparent; }
.b4-map .legend-dot.execution{ color: var(--teal); background: transparent; }
.b4-map .legend-dot.monitoring{ color: #6b9fd3; background: transparent; }
.b4-map .stakeholder-map-stage{ position: relative; min-width: 0; min-height: 650px; }
.b4-map .map-loading, .b4-map .map-empty{ display: grid; height: 100%; min-height: 540px; place-items: center; color: var(--muted); font-size: .72rem; text-align: center; }
.b4-map .stakeholder-map{ position: relative; min-height: 650px; overflow: visible; }
.b4-map .map-rings{ position: absolute; inset: 4% 3%; border-radius: 50%; background: repeating-radial-gradient(circle at 50% 50%, transparent 0 72px, rgba(184,137,59,.11) 73px 74px, transparent 75px 132px), linear-gradient(90deg, transparent 49.9%, rgba(184,137,59,.08) 50%, transparent 50.1%), linear-gradient(0deg, transparent 49.9%, rgba(184,137,59,.08) 50%, transparent 50.1%); mask-image: radial-gradient(ellipse at center, #000 0 63%, transparent 92%); }
.b4-map .map-lines{ position: absolute; inset: 4% 3%; width: 94%; height: 92%; overflow: visible; }
.b4-map .relation-line{ fill: none; stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.b4-map .relation-line.competence{ stroke: rgba(26,46,94,.48); }
.b4-map .relation-line.influence{ stroke: rgba(184,137,59,.68); stroke-dasharray: 6 5; }
.b4-map .relation-line.execution{ stroke: rgba(42,171,148,.68); }
.b4-map .relation-line.monitoring{ stroke: rgba(77,137,194,.68); stroke-dasharray: 2 5; }
.b4-map .relation-line.relation{ stroke: rgba(74,85,120,.35); stroke-dasharray: 3 5; }
.b4-map .map-center{ position: absolute; z-index: 2; top: 50%; left: 50%; display: flex; width: 166px; min-height: 166px; align-items: center; justify-content: center; flex-direction: column; padding: 1rem; border: 7px solid rgba(26,46,94,.1); border-radius: 50%; color: var(--white); background: var(--navy-deep); box-shadow: 0 12px 28px rgba(17,31,66,.15); text-align: center; transform: translate(-50%, -50%); }
.b4-map .map-center span{ margin-bottom: .35rem; color: rgba(255,255,255,.66); font-size: .55rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.b4-map .map-center strong{ font-family: var(--serif); font-size: 1.45rem; font-weight: 400; }
.b4-map .stakeholder-node{ position: absolute; z-index: 3; top: var(--node-y); left: var(--node-x); display: flex; width: 122px; min-height: 82px; align-items: center; justify-content: center; flex-direction: column; padding: .72rem .6rem; border: 1px solid rgba(26,46,94,.2); border-radius: 50%; color: var(--ink); background: rgba(255,255,255,.9); box-shadow: 0 5px 16px rgba(17,31,66,.07); text-align: center; transform: translate(-50%, -50%); transition: border-color .2s, box-shadow .2s, transform .2s; }
.b4-map .stakeholder-node:hover, .b4-map .stakeholder-node:focus-visible, .b4-map .stakeholder-node[aria-expanded="true"]{ border-color: var(--gold); box-shadow: 0 10px 22px rgba(17,31,66,.14); transform: translate(-50%, -50%) scale(1.04); }
.b4-map .stakeholder-node strong{ display: -webkit-box; overflow: hidden; max-width: 102px; font-size: .61rem; font-weight: 800; line-height: 1.25; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.b4-map .stakeholder-node small{ margin-top: .3rem; color: var(--ink-soft); font-size: .49rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.b4-map .stakeholder-node.competence{ border-color: rgba(26,46,94,.3); }
.b4-map .node-mark{ width: 7px; height: 7px; margin-bottom: .35rem; border-radius: 50%; background: var(--navy); }
.b4-map .node-mark.influence{ border: 1px solid var(--gold); background: transparent; }
.b4-map .node-mark.execution{ background: var(--teal); }
.b4-map .node-mark.monitoring{ background: #4d89c2; }
.b4-map .node-mark.relation{ background: var(--ink-soft); }
.b4-map .stakeholder-detail{ position: absolute; z-index: 10; top: 2.5rem; right: 0; width: min(310px, 35%); padding: 1.55rem 1.35rem 1.4rem; border: 1px solid rgba(26,46,94,.08); background: rgba(255,255,255,.98); box-shadow: 0 18px 38px rgba(17,31,66,.16); opacity: 0; transform: translateX(18px); transition: opacity .22s ease, transform .22s ease; }
.b4-map .stakeholder-detail.is-open{ opacity: 1; transform: translateX(0); }
.b4-map .detail-close{ position: absolute; top: .65rem; right: .75rem; border: 0; color: var(--muted); background: transparent; font-size: 1.45rem; line-height: 1; cursor: pointer; }
.b4-map .detail-kicker{ display: block; margin-bottom: .65rem; color: var(--gold); font-size: .6rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .stakeholder-detail h2{ max-width: 230px; margin-bottom: .7rem; font-size: 1.45rem; line-height: 1.15; }
.b4-map .detail-role, .b4-map .detail-evidence{ margin-bottom: .85rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.55; }
.b4-map .detail-divider{ height: 1px; margin: 1rem 0; background: var(--line); }
.b4-map .detail-link{ display: inline-flex; align-items: center; gap: .75rem; color: var(--gold); font-size: .74rem; font-weight: 800; }
.b4-map .area-content{ width: min(1280px, calc(100% - 104px)); padding: 2rem 0 4.5rem; }
.b4-map .area-topics .topic-card-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map /* Footer follows the real Normativo information architecture. */
.site-footer{ background: var(--navy-deep); }
.b4-map .footer-inner{ display: grid; grid-template-columns: minmax(260px, 1.5fr) minmax(170px, .7fr) minmax(180px, .8fr); align-items: start; gap: 3.5rem; width: min(1280px, calc(100% - 104px)); min-height: 166px; padding: 2.1rem 0 1.55rem; }
.b4-map .footer-intro p{ max-width: 310px; margin: .85rem 0 0; color: rgba(255,255,255,.62); font-size: .67rem; line-height: 1.55; }
.b4-map .footer-brand{ width: 145px; }
.b4-map .footer-brand img{ width: 145px; }
.b4-map .footer-column{ display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.b4-map .footer-label{ margin: 0 0 .3rem; color: rgba(255,255,255,.47); font-size: .58rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.b4-map .footer-links{ display: flex; flex-direction: column; gap: .55rem; font-size: .68rem; }
.b4-map .footer-contact a{ color: rgba(255,255,255,.75); font-size: .68rem; }
.b4-map .footer-bottom{ display: flex; justify-content: space-between; gap: 1rem; width: min(1280px, calc(100% - 104px)); padding: .85rem 0 1rem; border-top: 1px solid rgba(255,255,255,.13); color: rgba(255,255,255,.43); font-size: .59rem; }
@media (max-width: 1040px){
.b4-map .header-inner, .b4-map .home-inner, .b4-map .area-hero-inner, .b4-map .area-content, .b4-map .footer-inner, .b4-map .footer-bottom{ width: min(100% - 64px, 1280px); }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map .area-hero-inner{ grid-template-columns: 230px minmax(0, 1fr); gap: 1rem; }
.b4-map .stakeholder-detail{ width: 38%; }
}
@media (max-width: 780px){
.b4-map .header-inner, .b4-map .home-inner, .b4-map .area-hero-inner, .b4-map .area-content, .b4-map .footer-inner, .b4-map .footer-bottom{ width: calc(100% - 32px); }
.b4-map .header-inner{ min-height: 68px; }
.b4-map .brand img{ width: 142px; }
.b4-map .brand-divider, .b4-map .brand-subtitle{ display: none; }
.b4-map .primary-nav{ top: 68px; right: 16px; left: 16px; height: auto; }
.b4-map .primary-nav > a, .b4-map .areas-menu{ height: auto; }
.b4-map .primary-nav > a{ padding: .75rem; }
.b4-map .areas-menu summary{ width: 100%; height: auto; justify-content: space-between; padding: .75rem; }
.b4-map .area-menu-list{ position: static; display: block; width: auto; margin: 0 .35rem .35rem; box-shadow: none; }
.b4-map .area-menu-links{ padding: .15rem 0 .25rem; }
.b4-map .home-hero{ min-height: 0; background-image: linear-gradient(180deg, rgba(249,248,246,.96) 0%, rgba(249,248,246,.88) 52%, rgba(249,248,246,.46) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); background-position: center, 70% center; }
.b4-map .home-inner{ min-height: 0; padding: 3.5rem 0 2.7rem; }
.b4-map .home-copy h1{ font-size: clamp(2.35rem, 11vw, 3.6rem); }
.b4-map .home-areas{ margin-top: 2.5rem; }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .area-hero{ min-height: 0; padding: 1.5rem 0 0; background-image: radial-gradient(circle at 80% 48%, rgba(184,137,59,.08) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 80% 48%, transparent 0 80px, rgba(184,137,59,.05) 81px 82px, transparent 83px 160px); }
.b4-map .area-hero-inner{ display: block; min-height: 0; }
.b4-map .area-copy{ padding-top: 0; }
.b4-map .area-hero .breadcrumb{ margin-bottom: 1.45rem; }
.b4-map .area-hero h1{ font-size: clamp(2.5rem, 13vw, 3.6rem); }
.b4-map .area-description{ max-width: 330px; margin-bottom: 1rem; }
.b4-map .map-legend{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .12rem .6rem; max-width: 330px; padding: .8rem .85rem; }
.b4-map .legend-title{ grid-column: 1 / -1; margin-bottom: .25rem; }
.b4-map .stakeholder-map-stage{ min-height: 920px; margin: .8rem -1rem 0; }
.b4-map .stakeholder-map{ min-height: 920px; }
.b4-map .map-rings{ inset: 4% 0; }
.b4-map .map-lines{ inset: 4% 0; width: 100%; }
.b4-map .map-center{ width: 126px; min-height: 126px; border-width: 5px; }
.b4-map .map-center strong{ font-size: 1.2rem; }
.b4-map .stakeholder-node{ width: 99px; min-height: 70px; padding: .55rem .4rem; }
.b4-map .stakeholder-node strong{ max-width: 84px; font-size: .54rem; }
.b4-map .stakeholder-node small{ font-size: .43rem; }
.b4-map .stakeholder-detail{ position: fixed; right: 0; bottom: 0; top: auto; width: 100%; max-height: 72vh; padding: 1.35rem 1.2rem 1.5rem; transform: translateY(18px); }
.b4-map .stakeholder-detail.is-open{ transform: translateY(0); }
.b4-map .area-content{ padding: 1.8rem 0 3.4rem; }
.b4-map .area-topics .topic-card-grid{ grid-template-columns: 1fr; }
.b4-map .footer-inner{ display: grid; grid-template-columns: 1fr 1fr; gap: 1.6rem 1rem; min-height: 0; padding: 1.8rem 0 1.4rem; }
.b4-map .footer-intro{ grid-column: 1 / -1; }
.b4-map .footer-bottom{ align-items: flex-start; flex-direction: column; padding: .8rem 0 1rem; }
}
@media (max-width: 390px){
.b4-map .home-areas .area-grid{ grid-template-columns: 1fr 1fr; }
.b4-map .stakeholder-node{ width: 88px; min-height: 64px; }
.b4-map .stakeholder-node strong{ max-width: 76px; font-size: .5rem; }
}
.b4-map /* Editorial LIVE pass: the institutional image is a Home-only brand asset. */
.area-hero{ background-image: radial-gradient(circle at 76% 44%, rgba(184,137,59,.08) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 76% 44%, transparent 0 105px, rgba(184,137,59,.06) 106px 107px, transparent 108px 210px); }
.b4-map /* Lobby V1: a scoped editorial surface for one deeply documented dossier. */
.home-areas .area-grid{ grid-template-columns: repeat(6, minmax(0, 1fr)); }
.b4-map .lobby-page{ color: var(--ink); background: var(--paper); }
.b4-map .lobby-dossier-page{ min-height: 100%; }
.b4-map .lobby-area-hero{ color: var(--white); background: linear-gradient(115deg, var(--navy-deep, #0c2740) 0%, #173b5a 62%, #215066 100%); }
.b4-map .lobby-area-hero-inner, .b4-map .lobby-area-content, .b4-map .lobby-dossier-hero-inner, .b4-map .lobby-dossier-body{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; }
.b4-map .lobby-area-hero-inner{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(260px, .55fr); gap: 3rem; padding: 2rem 0 2.5rem; }
.b4-map .lobby-area-hero .breadcrumb{ grid-column: 1 / -1; margin-bottom: 0; color: rgba(255,255,255,.64); }
.b4-map .lobby-area-hero .breadcrumb span::before{ color: var(--gold-soft); }
.b4-map .lobby-area-copy{ max-width: 700px; }
.b4-map .lobby-area-copy .eyebrow, .b4-map .lobby-area-copy .gold-rule{ color: var(--gold-soft); }
.b4-map .lobby-area-copy h1{ margin-bottom: .4rem; font-size: clamp(3rem, 6vw, 5.6rem); }
.b4-map .lobby-area-subtitle{ margin-bottom: .7rem; color: rgba(255,255,255,.86); font-family: var(--serif); font-size: 1.1rem; }
.b4-map .lobby-area-description{ max-width: 610px; margin: 0; color: rgba(255,255,255,.7); font-size: .86rem; line-height: 1.65; }
.b4-map .lobby-area-status{ display: flex; align-self: end; flex-direction: column; gap: .85rem; padding: 1.1rem 1.2rem; border-left: 2px solid var(--gold); color: rgba(255,255,255,.76); font-size: .68rem; line-height: 1.45; }
.b4-map .lobby-status-pill, .b4-map .lobby-neutral-pill, .b4-map .lobby-caution-pill{ display: inline-flex; width: fit-content; align-items: center; padding: .35rem .52rem; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .lobby-status-pill{ color: var(--navy); background: var(--teal-soft); }
.b4-map .lobby-neutral-pill{ color: var(--ink-soft); background: rgba(255,255,255,.7); }
.b4-map .lobby-caution-pill{ color: #7c5b25; background: var(--gold-soft); }
.b4-map .lobby-area-content{ padding: 2.4rem 0 4.7rem; }
.b4-map .lobby-area-intro{ display: flex; align-items: end; justify-content: space-between; gap: 2rem; max-width: 900px; padding-bottom: 1.25rem; border-bottom: 1px solid var(--line); }
.b4-map .lobby-area-intro h2{ margin-bottom: .45rem; font-size: clamp(1.8rem, 3.5vw, 3rem); }
.b4-map .lobby-area-intro p:not(.eyebrow){ max-width: 680px; margin: 0; color: var(--ink-soft); font-size: .82rem; line-height: 1.6; }
.b4-map .lobby-area-dossier-card{ margin-top: 1.2rem; }
.b4-map .lobby-dossier-card-link{ display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, .7fr); gap: 1.6rem; padding: 1.55rem 1.6rem 1.35rem; border: 1px solid rgba(185,134,61,.58); background: var(--white); transition: border-color .2s, box-shadow .2s, transform .2s; }
.b4-map .lobby-dossier-card-link:hover{ border-color: var(--gold); box-shadow: 0 14px 30px rgba(20,44,69,.08); transform: translateY(-2px); }
.b4-map .lobby-dossier-card-main h3{ margin: .55rem 0 .6rem; font-size: 1.55rem; }
.b4-map .lobby-dossier-card-main p{ max-width: 700px; margin-bottom: 1.2rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.b4-map .lobby-card-kicker{ color: var(--gold); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .lobby-dossier-card-facts{ display: grid; gap: .55rem; }
.b4-map .lobby-dossier-card-facts > div{ display: grid; grid-template-columns: minmax(105px, .65fr) 1fr; gap: .7rem; padding: .65rem 0; border-top: 1px solid var(--line); }
.b4-map .lobby-dossier-card-facts > div:first-child{ border-top: 0; }
.b4-map .lobby-dossier-card-facts span, .b4-map .lobby-dossier-card-facts small{ color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-dossier-card-facts strong{ font-size: .7rem; line-height: 1.35; }
.b4-map .lobby-dossier-card-facts small{ grid-column: 2; margin-top: -.5rem; color: var(--muted); font-size: .57rem; letter-spacing: 0; text-transform: none; }
.b4-map .lobby-area-source-note{ display: flex; flex-wrap: wrap; gap: 1rem; margin-top: .65rem; color: var(--muted); font-size: .63rem; }
.b4-map .lobby-source-link{ display: inline-flex; color: var(--gold); font-size: .63rem; font-weight: 800; }
.b4-map .lobby-source-link:hover, .b4-map .lobby-evidence:hover, .b4-map .lobby-source-row:hover{ color: var(--navy-mid); }
.b4-map .lobby-dossier-hero{ color: var(--white); background: linear-gradient(118deg, var(--navy-deep, #0c2740) 0%, #153c5b 58%, #1f5964 100%); }
.b4-map .lobby-dossier-hero-inner{ padding: 1.35rem 0 2.7rem; }
.b4-map .lobby-dossier-hero .breadcrumb{ color: rgba(255,255,255,.64); }
.b4-map .lobby-dossier-hero .breadcrumb span::before{ color: var(--gold-soft); }
.b4-map .lobby-dossier-hero-copy{ max-width: 900px; }
.b4-map .lobby-dossier-hero-copy .eyebrow{ color: var(--gold-soft); }
.b4-map .lobby-dossier-hero-copy h1{ max-width: 800px; margin-bottom: .9rem; font-size: clamp(2.55rem, 5.5vw, 5.4rem); line-height: 1.02; }
.b4-map .lobby-official-title{ max-width: 920px; margin-bottom: 1.15rem; color: rgba(255,255,255,.72); font-size: .78rem; line-height: 1.55; }
.b4-map .lobby-official-title span{ display: block; margin-bottom: .25rem; color: var(--gold-soft); font-size: .57rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .lobby-hero-badges, .b4-map .lobby-dossier-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.b4-map .lobby-dossier-actions{ margin-top: 1.15rem; color: rgba(255,255,255,.64); font-size: .63rem; }
.b4-map .lobby-dossier-actions .lobby-source-link{ padding: .45rem .6rem; color: var(--navy); background: var(--gold-soft); }
.b4-map .lobby-dossier-lede{ max-width: 780px; margin: 1.45rem 0 0; color: rgba(255,255,255,.9); font-family: var(--serif); font-size: 1rem; line-height: 1.55; }
.b4-map .lobby-dossier-body{ padding: 1.35rem 0 5rem; }
.b4-map .lobby-reading-ribbon{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; margin-bottom: 1rem; }
.b4-map .lobby-reading-ribbon article{ min-height: 125px; padding: .85rem .9rem; border: 1px solid var(--line); border-top: 2px solid var(--gold); background: rgba(255,253,249,.78); }
.b4-map .lobby-reading-ribbon span, .b4-map .lobby-reading-ribbon small{ display: block; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .12em; line-height: 1.3; text-transform: uppercase; }
.b4-map .lobby-reading-ribbon strong{ display: block; margin: .5rem 0 .45rem; font-size: .75rem; line-height: 1.4; }
.b4-map .lobby-reading-ribbon small{ color: var(--muted); font-size: .59rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.b4-map .lobby-block{ margin-top: 1rem; padding: 1.45rem 1.5rem 1.5rem; border: 1px solid var(--line); background: rgba(255,253,249,.56); }
.b4-map .lobby-section-heading{ display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.2rem; }
.b4-map .lobby-section-heading .eyebrow{ margin-bottom: .35rem; }
.b4-map .lobby-section-heading h2{ margin-bottom: 0; font-size: clamp(1.5rem, 2.7vw, 2.45rem); }
.b4-map .lobby-section-heading > p{ max-width: 510px; margin: 0; color: var(--ink-soft); font-size: .73rem; line-height: 1.55; }
.b4-map .lobby-roadmap{ position: relative; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .7rem; margin: 0; padding: .4rem 0 0; list-style: none; }
.b4-map .lobby-roadmap::before{ position: absolute; top: 1rem; right: 6%; left: 4%; height: 1px; content: ''; background: linear-gradient(90deg, var(--gold) 0 74%, #9b9e9a 74% 100%); }
.b4-map .lobby-roadmap-stage{ position: relative; display: grid; grid-template-rows: 1.3rem auto; min-width: 0; padding-right: .25rem; }
.b4-map .lobby-roadmap-marker{ position: relative; z-index: 1; width: 1rem; height: 1rem; border: 3px solid var(--gold); border-radius: 50%; background: var(--paper); }
.b4-map .lobby-roadmap-stage.expected_procedural .lobby-roadmap-marker{ border-color: #8b918e; }
.b4-map .lobby-stage-status{ display: inline-block; margin: .2rem 0 .4rem; color: var(--gold); font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-roadmap-stage.expected_procedural .lobby-stage-status{ color: #737a77; }
.b4-map .lobby-roadmap-stage h3{ min-height: 2.55em; margin-bottom: .35rem; font-size: .88rem; line-height: 1.28; }
.b4-map .lobby-roadmap-stage p{ min-height: 2.6em; margin-bottom: .55rem; color: var(--muted); font-size: .63rem; line-height: 1.45; }
.b4-map .lobby-evidence-row{ display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .7rem; }
.b4-map .lobby-evidence{ display: grid; min-width: 0; gap: .1rem; padding: .45rem .5rem; border-left: 2px solid var(--gold); color: var(--ink); background: rgba(234,219,193,.38); }
.b4-map .lobby-evidence span{ color: var(--gold); font-size: .52rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-evidence strong{ font-size: .59rem; line-height: 1.35; }
.b4-map .lobby-evidence small{ color: var(--muted); font-size: .55rem; line-height: 1.3; }
.b4-map .lobby-conditional{ display: grid; grid-template-columns: auto 1fr; gap: .35rem .65rem; margin-top: 1.25rem; padding: .8rem .9rem; border-left: 2px solid #8b918e; background: rgba(236,235,231,.75); }
.b4-map .lobby-conditional span{ color: #727977; font-size: .55rem; font-weight: 800; letter-spacing: .1em; }
.b4-map .lobby-conditional strong{ font-size: .75rem; }
.b4-map .lobby-conditional p{ grid-column: 2; margin: 0; color: var(--ink-soft); font-size: .66rem; line-height: 1.5; }
.b4-map .lobby-influence-diagram{ padding: .8rem; border: 1px solid rgba(185,134,61,.34); background: rgba(255,253,249,.85); }
.b4-map .lobby-flow{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 0; padding: 0; list-style: none; }
.b4-map .lobby-flow li{ position: relative; display: flex; min-height: 145px; flex-direction: column; justify-content: center; padding: 1rem 1.15rem; border-right: 1px solid var(--line); }
.b4-map .lobby-flow li:last-child{ border-right: 0; }
.b4-map .lobby-flow li:not(:last-child)::after{ position: absolute; z-index: 2; top: 50%; right: -.45rem; width: .8rem; height: .8rem; content: '→'; color: var(--gold); background: var(--white); font-size: 1rem; line-height: .78rem; text-align: center; transform: translateY(-50%); }
.b4-map .lobby-flow-index{ margin-bottom: .65rem; color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .lobby-flow strong{ font-family: var(--serif); font-size: 1rem; font-weight: 400; line-height: 1.3; }
.b4-map .lobby-flow small{ margin-top: .55rem; color: var(--ink-soft); font-size: .66rem; line-height: 1.45; }
.b4-map .lobby-mechanism-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .45rem; margin-top: .65rem; }
.b4-map .lobby-mechanism-grid div{ display: flex; min-height: 58px; align-items: center; gap: .5rem; padding: .6rem; border-top: 2px solid var(--navy); background: rgba(225,241,235,.45); }
.b4-map .lobby-mechanism-grid span{ color: var(--teal); font-size: .55rem; font-weight: 800; }
.b4-map .lobby-mechanism-grid strong{ font-size: .6rem; line-height: 1.3; }
.b4-map .lobby-change-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.b4-map .lobby-change-card{ display: flex; min-width: 0; flex-direction: column; padding: .9rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-card-topline{ display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .35rem; margin-bottom: .6rem; }
.b4-map .lobby-card-topline > span:first-child{ color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-article-tag{ display: inline-flex; width: fit-content; padding: .19rem .32rem; color: var(--ink-soft); background: var(--gray-soft); font-size: .51rem; line-height: 1.2; }
.b4-map .lobby-change-card h3{ margin-bottom: .35rem; font-size: 1rem; }
.b4-map .lobby-change-card p{ margin-bottom: .25rem; color: var(--ink-soft); font-size: .69rem; line-height: 1.5; }
.b4-map .lobby-change-card .lobby-evidence-row{ margin-top: auto; padding-top: .65rem; }
.b4-map .lobby-scope-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .7rem; }
.b4-map .lobby-scope-column{ padding: .95rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-scope-column h3{ margin-bottom: .7rem; font-family: var(--sans); font-size: .65rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .lobby-scope-column ul{ display: grid; gap: .65rem; margin: 0; padding: 0; list-style: none; }
.b4-map .lobby-scope-column li{ display: grid; grid-template-columns: 1.25rem 1fr; gap: .45rem; }
.b4-map .lobby-scope-column li > span{ color: var(--teal); font-size: 1rem; font-weight: 800; }
.b4-map .lobby-scope-column.excluded li > span{ color: #9b6b42; }
.b4-map .lobby-scope-column strong{ display: block; font-size: .68rem; line-height: 1.4; }
.b4-map .lobby-scope-column p, .b4-map .lobby-scope-column small{ display: block; margin: .25rem 0 0; color: var(--ink-soft); font-size: .63rem; line-height: 1.45; }
.b4-map .lobby-scope-column .lobby-evidence{ margin-top: .4rem; }
.b4-map .lobby-activity-columns{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.b4-map .lobby-activity-columns article{ padding: .9rem; border-top: 2px solid var(--gold); background: var(--white); }
.b4-map .lobby-mini-label{ display: block; margin-bottom: .5rem; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .lobby-activity-columns p{ margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.5; }
.b4-map .lobby-list{ display: grid; gap: .4rem; margin: 0; padding-left: 1.1rem; color: var(--ink-soft); font-size: .67rem; line-height: 1.45; }
.b4-map .lobby-exclusions{ margin-top: 1rem; border-top: 1px solid var(--line); }
.b4-map .lobby-exclusions summary{ padding: .75rem 0 .2rem; color: var(--gold); cursor: pointer; font-size: .66rem; font-weight: 800; }
.b4-map .lobby-exclusions .lobby-list{ padding-top: .45rem; }
.b4-map .lobby-table-wrap{ overflow-x: auto; border: 1px solid var(--line); }
.b4-map .lobby-table{ width: 100%; min-width: 760px; border-collapse: collapse; background: var(--white); font-size: .65rem; }
.b4-map .lobby-table th, .b4-map .lobby-table td{ padding: .72rem .7rem; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; line-height: 1.45; }
.b4-map .lobby-table thead th{ color: var(--gold); background: rgba(234,219,193,.32); font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-table tbody tr:last-child th, .b4-map .lobby-table tbody tr:last-child td{ border-bottom: 0; }
.b4-map .lobby-table tbody th{ width: 21%; color: var(--ink); font-weight: 800; }
.b4-map .lobby-table tbody th span{ display: flex; flex-wrap: wrap; gap: .25rem; margin-top: .35rem; }
.b4-map .lobby-table tbody td{ color: var(--ink-soft); }
.b4-map .lobby-revolving-grid, .b4-map .lobby-reality-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.b4-map .lobby-revolving-grid article, .b4-map .lobby-reality-grid > div{ padding: .95rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-revolving-grid article > span, .b4-map .lobby-reality-grid > div > span{ display: block; margin-bottom: .55rem; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .11em; }
.b4-map .lobby-revolving-grid h3{ font-size: 1rem; }
.b4-map .lobby-revolving-grid p, .b4-map .lobby-reality-grid strong{ margin-bottom: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.55; }
.b4-map .lobby-footprint-layout{ display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(250px, .8fr); gap: 1rem; }
.b4-map .lobby-footprint-layout h3{ margin-bottom: .7rem; font-family: var(--sans); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-footprint-layout ol{ display: grid; gap: .45rem; margin: 0; padding: 0; list-style: none; }
.b4-map .lobby-footprint-layout li{ display: flex; align-items: center; gap: .6rem; padding: .55rem .65rem; border-left: 2px solid var(--gold); background: var(--white); font-size: .68rem; line-height: 1.4; }
.b4-map .lobby-footprint-layout li span{ color: var(--gold); font-size: .55rem; font-weight: 800; }
.b4-map .lobby-footprint-layout aside{ padding: 1rem; border: 1px solid var(--gold-soft); background: rgba(234,219,193,.4); }
.b4-map .lobby-footprint-layout aside > span, .b4-map .lobby-footprint-layout aside strong{ display: block; }
.b4-map .lobby-footprint-layout aside > span{ margin-bottom: .55rem; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .11em; }
.b4-map .lobby-footprint-layout aside strong{ font-family: var(--serif); font-size: .95rem; font-weight: 400; line-height: 1.35; }
.b4-map .lobby-footprint-layout aside p{ margin: .75rem 0 0; color: var(--ink-soft); font-size: .64rem; line-height: 1.5; }
.b4-map .lobby-sanction-level{ display: block !important; margin: 0 0 .38rem !important; color: var(--gold) !important; font-size: .59rem !important; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-sanctions-table tbody th{ width: 28%; }
.b4-map .lobby-actor-cards{ display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .5rem; }
.b4-map .lobby-actor-cards article{ min-width: 0; padding: .75rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-actor-cards h3{ margin: .55rem 0 .4rem; font-size: .83rem; line-height: 1.3; }
.b4-map .lobby-actor-cards p{ min-height: 3em; margin-bottom: .55rem; color: var(--ink-soft); font-size: .59rem; line-height: 1.4; }
.b4-map .lobby-relation-status, .b4-map .lobby-watch-status{ display: inline-flex; width: fit-content; padding: .25rem .35rem; color: var(--teal); background: var(--teal-soft); font-size: .51rem; font-weight: 800; letter-spacing: .05em; line-height: 1.25; text-transform: uppercase; }
.b4-map .lobby-relation-status.expected_procedural, .b4-map .lobby-relation-status.confirmed_historical{ color: #785d35; background: var(--gold-soft); }
.b4-map .lobby-relation-status.confirmed_infrastructure{ color: var(--ink-soft); background: var(--gray-soft); }
.b4-map .lobby-subsection-title{ margin: 1.3rem 0 .7rem; font-family: var(--sans); font-size: .67rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .lobby-table td .lobby-relation-status + small{ display: block; margin-top: .35rem; color: var(--muted); font-size: .58rem; }
.b4-map .lobby-watch-list{ display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.b4-map .lobby-watch-list li{ display: grid; grid-template-columns: 145px minmax(0, 1fr) auto; gap: .8rem; align-items: start; padding: .75rem .8rem; border-top: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-watch-list li:first-child{ border-top: 0; }
.b4-map .lobby-watch-list strong{ display: block; font-size: .69rem; line-height: 1.4; }
.b4-map .lobby-watch-list p{ margin: .2rem 0 0; color: var(--ink-soft); font-size: .62rem; line-height: 1.4; }
.b4-map .lobby-watch-status.expected_procedural{ color: #785d35; background: var(--gold-soft); }
.b4-map .lobby-watch-status.implementation_monitor, .b4-map .lobby-watch-status.confirmed_monitor{ color: var(--ink-soft); background: var(--gray-soft); }
.b4-map .lobby-reality-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map .lobby-reality-grid strong{ display: block; }
.b4-map .lobby-reality-grid .lobby-list{ padding-left: 1rem; }
.b4-map .lobby-related-card{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--gold-soft); background: rgba(234,219,193,.32); }
.b4-map .lobby-related-card h3{ margin: .55rem 0 0; font-family: var(--sans); font-size: .78rem; font-weight: 800; letter-spacing: .02em; }
.b4-map .lobby-source-list, .b4-map .lobby-source-related{ display: grid; gap: .5rem; }
.b4-map .lobby-source-related{ margin-top: 1.1rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.b4-map .lobby-source-row{ display: grid; gap: .22rem; padding: .8rem .85rem; border-left: 3px solid var(--gold); background: var(--white); }
.b4-map .lobby-source-row.related{ border-left-color: #8b918e; }
.b4-map .lobby-source-row > span{ color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .lobby-source-row strong{ font-size: .72rem; line-height: 1.4; }
.b4-map .lobby-source-row small{ color: var(--muted); font-size: .59rem; line-height: 1.35; }
.b4-map .lobby-source-related .lobby-mini-label{ margin-bottom: .1rem; }
@media (max-width: 1040px){
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map .lobby-area-hero-inner, .b4-map .lobby-area-content, .b4-map .lobby-dossier-hero-inner, .b4-map .lobby-dossier-body{ width: min(100% - 64px, var(--content)); }
.b4-map .lobby-actor-cards{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 780px){
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-area-hero-inner, .b4-map .lobby-area-content, .b4-map .lobby-dossier-hero-inner, .b4-map .lobby-dossier-body{ width: min(100% - 32px, var(--content)); }
.b4-map .lobby-area-hero-inner{ display: block; padding: 1.4rem 0 1.8rem; }
.b4-map .lobby-area-hero .breadcrumb{ margin-bottom: 1.35rem; }
.b4-map .lobby-area-copy h1{ font-size: clamp(2.9rem, 15vw, 4.2rem); }
.b4-map .lobby-area-status{ margin-top: 1.5rem; padding-left: .85rem; }
.b4-map .lobby-area-content{ padding: 1.8rem 0 3.2rem; }
.b4-map .lobby-area-intro{ display: block; }
.b4-map .lobby-area-intro .async-status{ min-height: 0; }
.b4-map .lobby-dossier-card-link{ display: block; padding: 1.15rem; }
.b4-map .lobby-dossier-card-facts{ margin-top: 1.2rem; }
.b4-map .lobby-dossier-card-facts > div{ grid-template-columns: 105px 1fr; }
.b4-map .lobby-dossier-hero-inner{ padding: 1rem 0 2rem; }
.b4-map .lobby-dossier-hero-copy h1{ font-size: clamp(2.35rem, 12vw, 3.55rem); }
.b4-map .lobby-official-title{ font-size: .7rem; }
.b4-map .lobby-dossier-body{ padding-bottom: 3.3rem; }
.b4-map .lobby-reading-ribbon{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-reading-ribbon article{ min-height: 112px; }
.b4-map .lobby-block{ padding: 1.05rem; }
.b4-map .lobby-section-heading{ display: block; }
.b4-map .lobby-section-heading > p{ margin-top: .75rem; }
.b4-map .lobby-roadmap{ display: block; padding-left: 1rem; }
.b4-map .lobby-roadmap::before{ top: 1rem; bottom: 1.1rem; left: .47rem; width: 1px; height: auto; background: linear-gradient(180deg, var(--gold) 0 74%, #9b9e9a 74% 100%); }
.b4-map .lobby-roadmap-stage{ grid-template-columns: 1.1rem 1fr; grid-template-rows: auto; gap: .65rem; margin-bottom: .8rem; padding: 0; }
.b4-map .lobby-roadmap-stage h3, .b4-map .lobby-roadmap-stage p{ min-height: 0; }
.b4-map .lobby-roadmap-marker{ margin-top: .2rem; }
.b4-map .lobby-roadmap-stage > div:last-child{ padding-bottom: .4rem; }
.b4-map .lobby-flow{ display: block; }
.b4-map .lobby-flow li{ min-height: 0; padding: .9rem .8rem; border-right: 0; border-bottom: 1px solid var(--line); }
.b4-map .lobby-flow li:last-child{ border-bottom: 0; }
.b4-map .lobby-flow li:not(:last-child)::after{ top: auto; right: auto; bottom: -.52rem; left: 50%; content: '↓'; transform: translateX(-50%); }
.b4-map .lobby-mechanism-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-change-grid, .b4-map .lobby-scope-grid, .b4-map .lobby-activity-columns, .b4-map .lobby-revolving-grid, .b4-map .lobby-footprint-layout, .b4-map .lobby-reality-grid{ grid-template-columns: 1fr; }
.b4-map .lobby-change-card{ padding: .8rem; }
.b4-map .lobby-actor-cards{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-watch-list li{ grid-template-columns: 1fr; gap: .45rem; }
.b4-map .lobby-related-card{ align-items: flex-start; flex-direction: column; }
}
@media (max-width: 390px){
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-reading-ribbon, .b4-map .lobby-actor-cards, .b4-map .lobby-mechanism-grid{ grid-template-columns: 1fr; }
}
.b4-map .journey-page{ background-image: none; }
.b4-map .agenda-note{ max-width: 640px; margin: -.35rem 0 1.2rem; color: var(--muted); font-size: .72rem; line-height: 1.5; }
.b4-map .card-supporting{ margin-top: .7rem; color: var(--muted); font-size: .62rem; font-weight: 700; }
.b4-map .detail-layer{ margin: -.2rem 0 .75rem; color: var(--gold); font-size: .64rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .stakeholder-node.layer-government{ border-width: 2px; }
.b4-map .stakeholder-node.layer-legislature{ border-style: dashed; }
.b4-map /* C5: the Lobby dossier follows the decision utility order. Canonical depth
   remains in closed details so the first plane answers the PA questions first. */
.lobby-c5-dossier .lobby-c5-section{ padding: 1.25rem 0 1.45rem; }
.b4-map .lobby-c5-dossier .lobby-section-heading{ margin-bottom: .8rem; }
.b4-map .lobby-c5-dossier .lobby-section-heading > p{ max-width: 620px; font-size: .68rem; }
.b4-map .lobby-c5-dossier .lobby-roadmap-stage h3{ min-height: 0; margin-bottom: .25rem; font-size: .8rem; }
.b4-map .lobby-c5-dossier .lobby-roadmap-stage p{ min-height: 0; margin-bottom: .35rem; font-size: .59rem; }
.b4-map .lobby-c5-dossier .lobby-roadmap-stage .lobby-evidence-row{ display: none; }
.b4-map .lobby-c5-dossier .lobby-conditional{ margin-top: .8rem; padding: .6rem .75rem; }
.b4-map .lobby-c5-dossier .lobby-conditional-grid article{ padding: .45rem .55rem; }
.b4-map .lobby-c5-dossier .lobby-conditional-grid article strong{ font-size: .66rem; }
.b4-map .lobby-c5-dossier .lobby-conditional-grid article p{ font-size: .58rem; }
.b4-map .lobby-c5-dossier .lobby-actors-block .lobby-table th, .b4-map .lobby-c5-dossier .lobby-actors-block .lobby-table td{ padding: .52rem .58rem; font-size: .58rem; }
.b4-map .lobby-pa-summary-grid, .b4-map .lobby-key-clock-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.b4-map .lobby-pa-summary{ min-width: 0; padding: .85rem .9rem; border-top: 2px solid var(--gold); background: rgba(255,255,255,.76); }
.b4-map .lobby-pa-summary h3{ margin-bottom: .35rem; font-size: .86rem; line-height: 1.3; }
.b4-map .lobby-pa-summary p{ margin: 0; color: var(--ink-soft); font-size: .65rem; line-height: 1.45; }
.b4-map .lobby-key-clock{ display: grid; min-width: 0; padding: .8rem .85rem; border: 1px solid var(--line); background: rgba(255,255,255,.76); }
.b4-map .lobby-key-clock > span{ color: var(--gold); font-size: .54rem; font-weight: 900; letter-spacing: .12em; }
.b4-map .lobby-key-clock > strong{ margin: .25rem 0 .35rem; color: var(--navy); font-family: var(--serif); font-size: 1.45rem; font-weight: 400; line-height: 1; }
.b4-map .lobby-key-clock h3{ margin-bottom: .25rem; font-size: .72rem; line-height: 1.3; }
.b4-map .lobby-key-clock p{ margin: 0 0 .45rem; color: var(--ink-soft); font-size: .6rem; line-height: 1.4; }
.b4-map .lobby-inline-detail{ margin-top: .7rem; border-top: 1px solid var(--line); }
.b4-map .lobby-inline-detail summary{ display: flex; align-items: center; justify-content: space-between; padding: .7rem .1rem .25rem; color: var(--gold); font-size: .65rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .lobby-inline-detail summary::-webkit-details-marker{ display: none; }
.b4-map .lobby-inline-detail summary::after{ content: '＋'; font-size: .95rem; font-weight: 400; }
.b4-map .lobby-inline-detail[open] summary::after{ content: '−'; }
.b4-map .lobby-v14-pa-detail-grid, .b4-map .lobby-all-clock-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; padding: .5rem 0 .15rem; }
.b4-map .lobby-v14-pa-detail-card{ display: flex; min-width: 0; flex-direction: column; padding: .72rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-v14-pa-detail-card h3{ margin-bottom: .28rem; font-size: .75rem; line-height: 1.3; }
.b4-map .lobby-v14-pa-detail-card p{ flex: 1; margin: 0; color: var(--ink-soft); font-size: .6rem; line-height: 1.42; }
.b4-map .lobby-v14-pa-detail-card .lobby-evidence-row{ margin-top: .55rem; }
.b4-map .lobby-deep-clock{ padding: .65rem; }
.b4-map .lobby-deep-clock .lobby-card-topline{ min-height: 0; margin-bottom: .25rem; }
.b4-map .lobby-deep-clock h3{ margin: .25rem 0 .2rem; font-size: .68rem; }
.b4-map .lobby-deep-clock > strong{ font-size: .55rem; }
.b4-map .lobby-deep-clock p{ margin: .25rem 0 .35rem; font-size: .57rem; line-height: 1.35; }
.b4-map .lobby-primary-evidence{ display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: .6rem; }
.b4-map .lobby-primary-source, .b4-map .lobby-situation-sources{ min-width: 0; padding: .75rem; border: 1px solid var(--line); background: rgba(255,255,255,.76); }
.b4-map .lobby-primary-source{ border-top: 2px solid var(--gold); }
.b4-map .lobby-primary-source > p, .b4-map .lobby-situation-sources > p{ margin: 0 0 .45rem; color: var(--gold); font-size: .55rem; font-weight: 900; letter-spacing: .12em; }
.b4-map .lobby-situation-sources{ display: grid; gap: .45rem; }
.b4-map .lobby-situation-sources > p{ grid-column: 1 / -1; margin-bottom: 0; }
.b4-map .lobby-primary-evidence .lobby-source-row{ padding: .55rem .6rem; }
.b4-map .lobby-primary-evidence .lobby-source-row strong{ font-size: .65rem; }
.b4-map .lobby-primary-evidence .lobby-source-row small{ font-size: .54rem; }
.b4-map .lobby-c5-dossier .lobby-related-card{ padding: .75rem .85rem; }
.b4-map .lobby-c5-dossier .lobby-related-card h3{ margin-top: .35rem; font-size: .7rem; }
.b4-map .lobby-deep-analysis-block{ padding-bottom: 2rem; }
.b4-map .lobby-deep-analysis-details{ gap: .35rem; }
.b4-map .lobby-deep-analysis-details > details{ background: rgba(255,255,255,.52); }
.b4-map .lobby-deep-analysis-details > details > summary{ padding: .8rem .1rem; font-size: .72rem; }
.b4-map .lobby-deep-analysis-details > details > :not(summary){ padding: 0 .1rem 1rem; }
.b4-map .lobby-activity-detail, .b4-map .lobby-deep-subsection{ margin-top: .9rem; padding-top: .85rem; border-top: 1px solid var(--line); }
.b4-map .lobby-activity-detail > h3, .b4-map .lobby-deep-subsection > h3{ margin-bottom: .45rem; font-size: .82rem; }
.b4-map .lobby-deep-subsection > p:not(.lobby-mini-label){ margin: 0 0 .65rem; color: var(--ink-soft); font-size: .64rem; line-height: 1.45; }
.b4-map .lobby-nested-detail{ margin-top: .7rem; border-top: 1px solid var(--line); }
.b4-map .lobby-nested-detail summary{ padding: .6rem 0 .1rem; color: var(--gold); font-size: .62rem; font-weight: 800; cursor: pointer; }
.b4-map .lobby-c5-dossier .lobby-table{ font-size: .6rem; }
.b4-map .lobby-c5-dossier .lobby-table th, .b4-map .lobby-c5-dossier .lobby-table td{ padding: .58rem .62rem; }
.b4-map .lobby-c5-dossier .lobby-revolving-grid article{ padding: .8rem; }
.b4-map .lobby-c5-dossier .lobby-revolving-grid h3{ font-size: .86rem; }
.b4-map .lobby-c5-dossier .lobby-revolving-grid p{ font-size: .62rem; }
.b4-map .lobby-c5-dossier .lobby-footprint-layout{ gap: .75rem; }
.b4-map .lobby-c5-dossier .lobby-footprint-layout li{ padding: .45rem .55rem; font-size: .62rem; }
.b4-map .lobby-c5-dossier .lobby-footprint-layout aside{ padding: .75rem; }
.b4-map .lobby-c5-dossier .lobby-footprint-layout aside strong{ font-size: .82rem; }
.b4-map .lobby-c5-dossier .lobby-footprint-layout aside p{ margin-top: .55rem; font-size: .6rem; }
.b4-map /* Identity closure for the Lobby projection: marks explain the node type and
   never imply an official logo for a cluster or regulated subject. */
.stakeholder-map-v314 .identity-class-conceptual-cluster .map-node-identity, .b4-map .stakeholder-map-v314 .identity-class-regulated-subject .map-node-identity{ border-style: dashed; }
.b4-map .stakeholder-map-v314 .identity-class-regulated-subject .map-node-identity{ color: #765786; border-color: rgba(129,91,143,.62); background: rgba(250,246,252,.98); }
.b4-map .stakeholder-map-v314 .identity-class-official-identity-unavailable .map-node-identity{ border-style: dotted; color: #376b9e; }
.b4-map .stakeholder-map-v314 .identity-class-parent-identity .map-node-identity{ border-style: dashed; border-color: rgba(42,171,148,.62); }
.b4-map .stakeholder-map-v314 .map-node-identity.identity-logo[src$="ctbg-mark.png"]{ padding: .14rem; }
.b4-map .stakeholder-map-v314 .map-node-identity.identity-logo[src$="ctbg-logo.png"]{ max-width: 72px; max-height: 28px; object-fit: contain; object-position: center; }
.b4-map .stakeholder-map-v314 .map-node-identity.identity-logo[src$="public-sector-concept.svg"], .b4-map .stakeholder-map-v314 .map-node-identity.identity-logo[src$="interest-groups-concept.svg"]{ width: 48px; height: 34px; max-width: 48px; max-height: 34px; object-fit: contain; }
.b4-map .stakeholder-map-v314 .map-node-identity.identity-logo[src$="spain-ccaa-map.svg"]{ width: 52px; height: 32px; max-width: 52px; max-height: 32px; object-fit: contain; }
.b4-map .stakeholder-map-v314 .detail-identity img[src$="ctbg-logo.png"]{ width: 44px; height: 30px; }
@media (max-width: 780px){
.b4-map .lobby-pa-summary-grid, .b4-map .lobby-key-clock-grid, .b4-map .lobby-v14-pa-detail-grid, .b4-map .lobby-all-clock-grid{ grid-template-columns: 1fr; }
.b4-map .lobby-primary-evidence{ grid-template-columns: 1fr; }
.b4-map .lobby-c5-dossier .lobby-roadmap-stage .lobby-evidence-row{ display: none; }
.b4-map .lobby-c5-dossier .lobby-actors-block .lobby-table th, .b4-map .lobby-c5-dossier .lobby-actors-block .lobby-table td{ padding: .5rem .52rem; font-size: .55rem; }
.b4-map .lobby-c5-dossier .lobby-section-heading > p{ font-size: .64rem; }
}
.b4-map .stakeholder-node.layer-technical{ box-shadow: 0 0 0 4px rgba(77,137,194,.08), 0 5px 16px rgba(17,31,66,.07); }
.b4-map .stakeholder-node.layer-implementation{ border-color: rgba(42,171,148,.55); }
.b4-map .stakeholder-node.layer-sector{ border-color: rgba(184,137,59,.42); }
.b4-map .stakeholder-node.power-decision{ border-width: 3px; border-color: var(--navy); }
.b4-map .stakeholder-node.power-direction{ border-width: 2px; border-color: var(--gold); }
.b4-map .stakeholder-node.power-legislation{ border-style: dashed; border-color: #6b7f99; }
.b4-map .stakeholder-node.power-regulation{ box-shadow: 0 0 0 4px rgba(77,137,194,.1), 0 5px 16px rgba(17,31,66,.07); }
.b4-map .stakeholder-node.power-implementation{ border-color: rgba(20,141,120,.7); }
.b4-map .stakeholder-node.power-participation{ border-color: rgba(184,137,59,.42); }
.b4-map .stakeholder-map-stage.map-dense{ min-height: 720px; }
.b4-map .stakeholder-map.map-dense{ min-height: 720px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node{ width: 112px; min-height: 78px; padding: .58rem .48rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node strong{ max-width: 94px; font-size: .56rem; -webkit-line-clamp: 3; }
.b4-map .stakeholder-map.map-dense .stakeholder-node small{ margin-top: .18rem; font-size: .43rem; }
.b4-map .area-hero{ background-image: radial-gradient(circle at 76% 44%, rgba(184,137,59,.08) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 76% 44%, transparent 0 105px, rgba(184,137,59,.06) 106px 107px, transparent 108px 210px); }
.b4-map .area-hero h1{ font-size: clamp(2.8rem, 4.3vw, 4.35rem); }
.b4-map .topic-card h2{ -webkit-line-clamp: 2; }
.b4-map .journey-copy h1, .b4-map .journey-copy.long-title h1{ display: block; overflow: visible; max-width: 720px; font-size: clamp(2.45rem, 3.65vw, 3.55rem); line-height: 1.08; text-wrap: balance; }
.b4-map .signal-group-label{ margin: 1rem 0 .55rem; color: var(--muted); font-size: .58rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .stakeholder-node.size-large{ width: 138px; min-height: 94px; }
.b4-map .stakeholder-node.size-small{ width: 108px; min-height: 74px; opacity: .88; }
.b4-map .stakeholder-node.size-large strong{ max-width: 116px; }
.b4-map .stakeholder-node.size-small strong{ max-width: 92px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-large{ width: 116px; min-height: 80px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-small{ width: 104px; min-height: 74px; }
@media (max-width: 780px){
.b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 920px; }
.b4-map .stakeholder-map.map-dense .map-clusters{ position: absolute; top: .45rem; right: .5rem; left: .5rem; max-width: none; margin: 0; justify-content: center; }
.b4-map .stakeholder-map.map-dense .stakeholder-node{ width: 76px; min-height: 60px; padding: .34rem .24rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node strong{ max-width: 64px; font-size: .42rem; line-height: 1.18; -webkit-line-clamp: 3; }
.b4-map .stakeholder-map.map-dense .stakeholder-node small{ margin-top: .14rem; font-size: .36rem; letter-spacing: .03em; }
.b4-map .stakeholder-map.map-dense .stakeholder-node .node-lineage{ font-size: .32rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-large{ width: 84px; min-height: 66px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-small{ width: 72px; min-height: 58px; }
.b4-map .stakeholder-map.map-dense .institution-identity{ width: 18px; height: 18px; min-width: 18px; margin-bottom: .2rem; font-size: .32rem; }
}
.b4-map .agenda-dossier{ border-top: 2px solid var(--gold); }
.b4-map .agenda-dossier .panel-heading{ align-items: flex-start; }
.b4-map .dossier-depth-facts{ display: flex; flex-wrap: wrap; gap: .45rem; margin-top: 1rem; }
.b4-map .dossier-depth-facts span{ display: grid; gap: .15rem; min-width: 112px; padding: .55rem .65rem; border: 1px solid var(--line); color: var(--muted); font-size: .57rem; }
.b4-map .dossier-depth-facts b{ color: var(--ink); font-size: .84rem; }
.b4-map .signal-card.topic-context{ border-style: dashed; }
.b4-map .dossier-summary{ max-width: 780px; color: var(--ink-soft); font-size: .86rem; line-height: 1.65; }
.b4-map .dossier-journeys{ display: grid; gap: .55rem; margin-top: 1.2rem; }
.b4-map .dossier-journey{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .72rem .85rem; border: 1px solid var(--line); background: rgba(255,255,255,.55); }
.b4-map .dossier-journey strong{ font-size: .72rem; }
.b4-map .dossier-journey span{ color: var(--gold); font-size: .63rem; white-space: nowrap; }
.b4-map .institution-page{ width: min(1280px, calc(100% - 104px)); margin: 0 auto; padding: 4rem 0 5rem; }
.b4-map .institution-header{ padding-bottom: 2rem; border-bottom: 1px solid var(--line); }
.b4-map .institution-title-row{ display: flex; align-items: end; justify-content: space-between; gap: 2rem; }
.b4-map .institution-title-row h1{ max-width: 850px; margin-bottom: .75rem; font-size: clamp(2.5rem, 5vw, 4.6rem); }
.b4-map .official-button{ display: inline-flex; align-items: center; min-height: 40px; padding: .65rem .9rem; color: var(--white); background: var(--navy); font-size: .68rem; font-weight: 800; white-space: nowrap; }
.b4-map .institution-facts{ display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.6rem; }
.b4-map .institution-facts span{ display: grid; gap: .22rem; min-width: 140px; padding: .7rem .8rem; border: 1px solid var(--line); background: rgba(255,255,255,.55); color: var(--ink-soft); font-size: .68rem; }
.b4-map .institution-facts b{ color: var(--gold); font-size: .57rem; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .institution-section{ margin-top: 2.4rem; }
.b4-map .institution-role{ max-width: 760px; color: var(--ink-soft); font-size: .88rem; line-height: 1.65; }
.b4-map .institution-agenda-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.b4-map .institution-agenda-card{ display: block; min-height: 190px; padding: 1rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .institution-agenda-card h3{ font-family: var(--serif); font-size: 1.1rem; }
.b4-map .institution-agenda-card p{ color: var(--ink-soft); font-size: .7rem; line-height: 1.5; }
.b4-map .institution-agenda-card small{ color: var(--gold); font-size: .62rem; font-weight: 800; }
.b4-map .institution-child-list{ display: grid; max-width: 900px; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.b4-map .institution-child-list a{ display: grid; gap: .25rem; padding: .75rem .8rem; border: 1px solid var(--line); background: rgba(255,255,255,.55); }
.b4-map .institution-child-list strong{ font-size: .68rem; line-height: 1.3; }
.b4-map .institution-child-list span{ color: var(--muted); font-size: .58rem; }
.b4-map .institution-activity{ display: grid; gap: 0; max-width: 820px; padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.b4-map .institution-activity li{ display: grid; grid-template-columns: 130px 1fr auto; gap: .8rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid var(--line); font-size: .7rem; }
.b4-map .institution-activity time, .b4-map .institution-activity span{ color: var(--muted); font-size: .62rem; }
.b4-map /* The public Atlas shares Normativo's information architecture but keeps its
   reading surface light. The institutional image is Home-owned only. */
.site-footer{ color: var(--ink-soft); background: var(--white); border-top: 1px solid var(--line); }
.b4-map .footer-intro p{ color: var(--muted); }
.b4-map .footer-brand img{ filter: brightness(0) saturate(100%); opacity: .92; }
.b4-map .footer-label{ color: var(--gold); }
.b4-map .footer-links a, .b4-map .footer-contact a{ color: var(--ink-soft); }
.b4-map .footer-links a:hover, .b4-map .footer-contact a:hover{ color: var(--gold); }
.b4-map .footer-bottom{ border-top-color: var(--line); color: var(--muted); }
.b4-map /* V3.10: the areas menu is a small anchored control, .b4-map not a detached mega-menu. */
.areas-menu{ z-index: 4; }
.b4-map .area-menu-list{ transform-origin: top right; }
.b4-map .area-menu-list a{ white-space: normal; }
.b4-map /* V3.10: institutional map labels are public semantics, .b4-map not internal bands. */
.map-rings{
  inset: 2% 2.5%;
  mask-image: none;
  background:
    radial-gradient(circle at center, transparent 0 21%, rgba(184,137,59,.18) 21.2% 21.45%, transparent 21.7% 42%, rgba(184,137,59,.16) 42.2% 42.45%, transparent 42.7% 63%, rgba(42,171,148,.15) 63.2% 63.45%, transparent 63.7% 84%, rgba(26,46,94,.12) 84.2% 84.45%, transparent 84.7% 100%),
    linear-gradient(90deg, transparent 49.94%, rgba(184,137,59,.08) 50%, transparent 50.06%),
    linear-gradient(0deg, transparent 49.94%, rgba(184,137,59,.08) 50%, transparent 50.06%);
}
.b4-map .ring-label{ z-index: 1; padding: .16rem .28rem; border: 1px solid rgba(184,137,59,.18); background: rgba(249,248,246,.82); font-size: .47rem; line-height: 1.25; white-space: nowrap; }
.b4-map .ring-decision{ top: 34%; left: 5%; transform: none; color: rgba(12,39,64,.76); }
.b4-map .ring-legislation{ top: 17%; right: 5%; left: auto; transform: none; }
.b4-map .ring-implementation{ top: 7%; left: 7%; transform: none; }
.b4-map .ring-participation{ top: auto; right: 5%; bottom: 8%; left: auto; transform: none; color: rgba(20,141,120,.76); }
.b4-map .map-legend .legend-power-labels b{ font-size: .5rem; letter-spacing: .02em; }
.b4-map .stakeholder-node .node-badge{ display: inline-grid; min-width: 1.18rem; height: 1.18rem; place-items: center; margin: 0 0 .25rem; border-radius: 50%; color: var(--white); background: var(--teal); font-size: .48rem; font-weight: 800; }
.b4-map .cluster-preview{ width: min(260px, calc(100% - 1.2rem)); }
.b4-map .cluster-preview .cluster-preview-action{ margin-top: .15rem; color: var(--gold); font-size: .55rem; font-weight: 800; }
.b4-map .detail-cluster-items{ grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 330px; gap: .4rem; }
.b4-map .detail-cluster-item{ min-width: 0; }
.b4-map .detail-cluster-item .territory-name{ color: var(--ink); font-size: .62rem; font-weight: 800; }
.b4-map .detail-cluster-item .territory-institution{ color: var(--muted); font-size: .54rem; line-height: 1.35; }
.b4-map .detail-cluster-item .territory-status{ color: var(--teal); font-size: .51rem; font-weight: 800; }
.b4-map .institution-facts .fact-functional{ min-width: 220px; }
.b4-map .institution-profile-identity{ max-width: 760px; color: var(--ink-soft); font-size: .88rem; line-height: 1.65; }
.b4-map .cluster-intro{ margin: -.2rem 0 .65rem; color: var(--ink-soft); font-size: .65rem; line-height: 1.45; }
.b4-map .card-actor > span{ display: inline-flex; flex-direction: column; gap: .08rem; }
.b4-map .card-actor small{ color: var(--muted); font-size: .52rem; font-weight: 500; }
.b4-map .institution-relationships{ display: grid; max-width: 760px; gap: .65rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.b4-map .institution-relationships p{ margin: 0; }
.b4-map .institution-relationships strong{ display: block; margin-bottom: .15rem; color: var(--gold); font-size: .58rem; letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 780px){
.b4-map .ring-label{ font-size: .38rem; }
.b4-map .ring-decision{ top: 34%; left: 2%; }
.b4-map .ring-legislation{ top: 17%; right: 2%; }
.b4-map .ring-implementation{ top: 6%; left: 2%; }
.b4-map .ring-participation{ right: 2%; bottom: 7%; }
.b4-map .detail-cluster-items{ grid-template-columns: 1fr 1fr; }
}
@media (max-width: 780px){
.b4-map .area-hero{ background-image: radial-gradient(circle at 82% 36%, rgba(184,137,59,.08) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 82% 36%, transparent 0 80px, rgba(184,137,59,.05) 81px 82px, transparent 83px 160px); }
.b4-map .dossier-journey{ align-items: flex-start; flex-direction: column; gap: .35rem; }
.b4-map .institution-page{ width: calc(100% - 32px); padding: 2.6rem 0 3.5rem; }
.b4-map .institution-title-row{ align-items: flex-start; flex-direction: column; gap: 1rem; }
.b4-map .institution-title-row h1{ font-size: clamp(2.25rem, 11vw, 3.35rem); }
.b4-map .institution-agenda-grid{ grid-template-columns: 1fr; }
.b4-map .institution-child-list{ grid-template-columns: 1fr; }
.b4-map .institution-activity li{ grid-template-columns: 1fr; gap: .25rem; }
.b4-map .dossier-depth-facts{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .journey-copy h1, .b4-map .journey-copy.long-title h1{ font-size: clamp(2.15rem, 9.4vw, 3rem); line-height: 1.09; }
.b4-map .stakeholder-node.size-large{ width: 108px; min-height: 78px; }
.b4-map .stakeholder-node.size-small{ width: 88px; min-height: 64px; }
.b4-map .stakeholder-node.size-large strong{ max-width: 92px; }
.b4-map .stakeholder-node.size-small strong{ max-width: 76px; }
}
.b4-map /* V2.3 product finish: compact verified institution profiles and legible
   dossiers. Keep these rules last so the older Atlas surface cannot re-expand
   the public reading hierarchy. */
.journey-copy h1, .b4-map .journey-copy.long-title h1{
  max-width: 720px;
  font-size: clamp(2.35rem, 3.3vw, 3.25rem);
  line-height: 1.08;
}
.b4-map .institution-page{ width: min(1160px, calc(100% - 64px)); padding: 2.9rem 0 4.2rem; }
.b4-map .institution-header{ padding: 1.25rem 0 1.55rem; }
.b4-map .institution-hero{ display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem 1.25rem; }
.b4-map .institution-mark{ display: grid; width: 58px; height: 58px; place-items: center; border: 1px solid rgba(184,137,59,.65); border-radius: 50%; color: var(--gold); background: var(--paper); font-size: .78rem; font-weight: 800; letter-spacing: .08em; }
.b4-map .institution-profile-logo{ width: 42px; height: 42px; object-fit: contain; }
.b4-map .identity-fallback-note{ display: block; max-width: 620px; color: var(--muted); font-size: .58rem; line-height: 1.45; }
.b4-map .institution-hero-copy{ min-width: 0; }
.b4-map .institution-hero-copy .eyebrow{ margin-bottom: .3rem; }
.b4-map .institution-hero-copy h1{ margin: 0 0 .35rem; font-family: var(--serif); font-size: clamp(2rem, 4vw, 3.55rem); line-height: 1.04; }
.b4-map .institution-acronym{ margin: 0 0 .25rem; color: var(--gold); font-size: .64rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .institution-hero-copy .lede{ max-width: 680px; margin: 0; font-size: .78rem; line-height: 1.5; }
.b4-map .institution-title-row{ display: contents; }
.b4-map .institution-facts{ gap: .45rem; margin-top: 1.15rem; }
.b4-map .institution-facts span{ min-width: 132px; padding: .55rem .7rem; font-size: .64rem; }
.b4-map .institution-section{ margin-top: 1.75rem; }
.b4-map .institution-role{ max-width: 720px; font-size: .8rem; line-height: 1.55; }
.b4-map .institution-agenda-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .65rem; }
.b4-map .institution-agenda-card{ min-height: 155px; padding: .85rem .9rem; }
.b4-map .institution-agenda-card h3{ margin: .45rem 0 .4rem; font-size: 1rem; line-height: 1.2; }
.b4-map .institution-agenda-card p{ min-height: 2.8em; margin-bottom: .65rem; font-size: .66rem; }
.b4-map .institution-agenda-card small{ font-size: .58rem; }
.b4-map .institution-activity{ max-width: 900px; }
.b4-map .institution-activity li{ grid-template-columns: 112px minmax(0,1fr) auto; padding: .6rem 0; font-size: .66rem; }
.b4-map .institution-activity time, .b4-map .institution-activity span{ font-size: .58rem; }
.b4-map .institution-mark{ width: auto; min-width: 58px; height: 58px; padding: 0 .15rem; border: 0; border-radius: 0; background: transparent; color: var(--navy); }
.b4-map .institution-profile-logo{ width: auto; max-width: 150px; height: auto; max-height: 56px; }
.b4-map .institution-phase-chips{ display: flex; flex-wrap: wrap; gap: .32rem; margin: .05rem 0 .7rem; }
.b4-map .institution-phase-chips span{ padding: .22rem .35rem; border: 1px solid rgba(20,141,120,.2); color: var(--teal); background: rgba(225,241,235,.34); font-size: .54rem; font-weight: 800; letter-spacing: .05em; }
.b4-map .institution-profile-bullets{ display: grid; max-width: 760px; gap: .45rem; padding-left: 1.1rem; color: var(--ink-soft); font-size: .78rem; line-height: 1.55; }
.b4-map .institution-profile-bullets li::marker{ color: var(--gold); }
.b4-map .institution-intelligence .section-label{ margin-top: 1.15rem; }
.b4-map .institution-intelligence .section-label:first-child{ margin-top: 0; }
@media (max-width: 780px){
.b4-map .journey-copy h1, .b4-map .journey-copy.long-title h1{ font-size: clamp(2rem, 9.4vw, 2.65rem); }
.b4-map .institution-page{ width: calc(100% - 32px); padding: 2rem 0 3rem; }
.b4-map .institution-hero{ grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: .8rem; }
.b4-map .institution-mark{ min-width: 48px; width: auto; height: 48px; font-size: .66rem; }
.b4-map .institution-profile-logo{ max-width: 110px; max-height: 46px; }
.b4-map .institution-hero-copy h1{ font-size: clamp(1.75rem, 8.5vw, 2.45rem); }
.b4-map .institution-hero-copy .lede{ font-size: .72rem; }
.b4-map .institution-hero .official-button{ grid-column: 1 / -1; justify-self: start; }
.b4-map .institution-facts{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .institution-facts span, .b4-map .institution-facts .fact-functional{ min-width: 0; }
.b4-map .institution-agenda-grid{ grid-template-columns: 1fr; }
}
.b4-map /* V3.2 decision intelligence and document hierarchy.  These are additive
   content components; the existing map geometry and page grid stay intact. */
.decision-intelligence .decision-layout{ display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(240px, .85fr); gap: 1rem; }
.b4-map .decision-card, .b4-map .watch-list{ min-width: 0; padding: 1rem; border: 1px solid var(--line); background: rgba(255,255,255,.52); }
.b4-map .decision-card.current-window-card{ border-color: rgba(185, 134, 61, .65); background: rgba(185, 134, 61, .07); }
.b4-map .decision-card h3{ margin: .25rem 0 .35rem; color: var(--navy); font-family: var(--serif); font-size: 1.5rem; line-height: 1.08; }
.b4-map .decision-card p{ margin: 0 0 .5rem; color: var(--ink); font-size: .78rem; }
.b4-map .decision-card small, .b4-map .watch-item span{ color: var(--muted); font-size: .62rem; line-height: 1.4; }
.b4-map .watch-list{ display: grid; align-content: start; gap: .55rem; }
.b4-map .watch-list .eyebrow{ margin-bottom: 0; }
.b4-map .watch-item{ display: grid; gap: .15rem; padding-top: .5rem; border-top: 1px solid var(--line); }
.b4-map .watch-item strong{ color: var(--navy); font-size: .72rem; }
.b4-map .document-hierarchy .document-primary{ max-width: 760px; margin-bottom: .8rem; }
.b4-map .document-list{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.b4-map .document-row{ display: grid; gap: .22rem; min-width: 0; padding: .72rem .78rem; border: 1px solid var(--line); color: var(--ink); background: rgba(255,255,255,.48); text-decoration: none; }
.b4-map .document-row:hover, .b4-map .document-row:focus-visible{ border-color: var(--gold); outline: none; }
.b4-map .document-row span{ color: var(--gold); font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .document-row strong{ color: var(--navy); font-size: .72rem; line-height: 1.3; }
.b4-map .document-row small{ color: var(--muted); font-size: .58rem; line-height: 1.35; }
.b4-map .document-more{ margin-top: .75rem; color: var(--navy); font-size: .65rem; }
.b4-map .document-more summary{ cursor: pointer; }
.b4-map .document-more .document-list{ margin-top: .65rem; }
.b4-map .detail-section-label{ margin: .75rem 0 .35rem; color: var(--gold); font-size: .55rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .detail-decision-list{ display: grid; gap: .35rem; }
.b4-map .detail-decision-item{ display: grid; gap: .12rem; padding: .4rem .5rem; border-left: 2px solid var(--gold); background: rgba(185,134,61,.06); }
.b4-map .detail-decision-item strong{ color: var(--navy); font-size: .62rem; }
.b4-map .detail-decision-item span{ color: var(--muted); font-size: .55rem; }
@media (max-width: 780px){
.b4-map .decision-intelligence .decision-layout{ grid-template-columns: 1fr; }
.b4-map .decision-card h3{ font-size: 1.28rem; }
.b4-map .document-list{ grid-template-columns: 1fr; }
}
.b4-map /* V3.6 launch surface: the map is the area page's primary reading surface. */
.skip-link:focus{ top: -4rem; }
.b4-map .skip-link:focus-visible{ top: 1rem; }
.b4-map .site-header{ z-index: 50; }
.b4-map .home-hero, .b4-map .home-hero{ background-image: linear-gradient(90deg, rgba(249,248,246,1) 0%, rgba(249,248,246,.98) 38%, rgba(249,248,246,.64) 66%, rgba(249,248,246,.08) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); }
.b4-map .area-hero{ min-height: 0; padding: 1.8rem 0 2.25rem; background-image: radial-gradient(circle at 76% 44%, rgba(184,137,59,.055) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 76% 44%, transparent 0 118px, rgba(184,137,59,.045) 119px 120px, transparent 121px 238px); }
.b4-map .area-hero-inner{ display: block; width: min(1280px, calc(100% - 104px)); }
.b4-map .area-copy{ padding-top: 0; }
.b4-map .area-hero .breadcrumb{ margin-bottom: 1.15rem; }
.b4-map .area-hero h1{ max-width: none; margin-bottom: .35rem; font-size: clamp(2.8rem, 4.4vw, 4.35rem); }
.b4-map .area-description{ max-width: 650px; margin-bottom: 0; font-size: .88rem; }
.b4-map .area-map-layout{ position: relative; margin-top: 1.5rem; }
.b4-map .stakeholder-map-stage{ min-height: 700px; height: 700px; overflow: visible; }
.b4-map .stakeholder-map{ min-height: 700px; height: 700px; overflow: hidden; border: 1px solid rgba(184,137,59,.17); background: rgba(255,255,255,.2); }
.b4-map .map-rings{ inset: 2% 2.5%; }
.b4-map .map-lines{ inset: 2% 2.5%; width: 95%; height: 96%; }
.b4-map .map-center{ width: 178px; min-height: 178px; }
.b4-map .map-legend{ position: absolute; z-index: 8; top: 1rem; left: 1rem; width: min(235px, calc(100% - 2rem)); padding: .8rem .85rem .72rem; border: 1px solid rgba(184,137,59,.22); background: rgba(255,253,249,.94); box-shadow: 0 8px 18px rgba(20,44,69,.06); }
.b4-map .map-legend span{ font-size: .6rem; }
.b4-map .legend-title{ margin-bottom: .5rem; }
.b4-map .legend-power-labels{ display: grid; gap: .25rem; margin-top: .55rem; }
.b4-map .legend-power-labels b{ padding: .18rem .28rem; font-size: .5rem; }
.b4-map .map-placeholder{ min-height: 100%; }
.b4-map .map-loading{ min-height: 100%; color: transparent; }
.b4-map .relation-line.relation-decision{ stroke: rgba(12,39,64,.88); stroke-width: 2.5; }
.b4-map .relation-line.relation-legislation{ stroke: rgba(185,134,61,.84); stroke-width: 1.9; }
.b4-map .relation-line.relation-implementation{ stroke: rgba(20,141,120,.76); stroke-width: 1.55; }
.b4-map .relation-line.relation-participation{ stroke: rgba(74,85,120,.52); stroke-width: 1.2; stroke-dasharray: 5 6; }
.b4-map .relation-line.relation-regulation, .b4-map .relation-line.relation-direction{ stroke: rgba(185,134,61,.84); stroke-width: 1.9; }
.b4-map .stakeholder-node strong{ display: block; overflow: visible; max-width: 112px; line-height: 1.22; overflow-wrap: anywhere; }
.b4-map .stakeholder-node .node-lineage{ display: block; max-width: 112px; overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
.b4-map .topic-card{ min-height: 0; }
.b4-map .topic-card h2{ display: block; overflow: visible; max-width: none; -webkit-line-clamp: unset; }
.b4-map .footer-inner{ grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(130px, .7fr)); }
.b4-map .footer-links{ gap: .48rem; }
@media (max-width: 1040px){
.b4-map .area-hero-inner{ width: min(100% - 64px, 1280px); }
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map{ min-height: 680px; height: 680px; }
}
@media (max-width: 780px){
.b4-map .home-hero{ background-image: linear-gradient(180deg, rgba(249,248,246,.96) 0%, rgba(249,248,246,.88) 52%, rgba(249,248,246,.46) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); }
.b4-map .area-hero{ padding: 1.5rem 0 1.35rem; background-image: radial-gradient(circle at 80% 48%, rgba(184,137,59,.055) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 80% 48%, transparent 0 86px, rgba(184,137,59,.04) 87px 88px, transparent 89px 178px); }
.b4-map .area-hero-inner{ width: calc(100% - 32px); }
.b4-map .area-description{ max-width: 340px; }
.b4-map .area-map-layout{ margin-top: 1rem; }
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map, .b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 720px; height: 720px; }
.b4-map .stakeholder-map{ overflow: visible; }
.b4-map .map-legend{ position: static; width: 100%; margin-top: .8rem; box-shadow: none; }
.b4-map .map-progressive-disclosure{ top: calc(100% + .55rem); right: .55rem; bottom: auto; left: .55rem; width: auto; }
.b4-map .map-legend{ margin-top: 4.25rem; }
.b4-map .map-center{ width: 126px; min-height: 126px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node{ width: 86px; min-height: 66px; padding: .36rem .28rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-large{ width: 92px; min-height: 70px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-small{ width: 82px; min-height: 62px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node strong{ max-width: 76px; font-size: .45rem; line-height: 1.2; -webkit-line-clamp: unset; }
.b4-map .stakeholder-map.map-dense .stakeholder-node small{ font-size: .37rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node .node-lineage{ max-width: 76px; font-size: .34rem; }
.b4-map .footer-inner{ grid-template-columns: 1fr 1fr; }
.b4-map .footer-intro{ grid-column: 1 / -1; }
}
@media (max-width: 390px){
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map, .b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 900px; height: 900px; }
}
.b4-map /* V3.10 final map geometry: keep the collision-safe mobile coordinate space
   after the legacy responsive compatibility rules above. */
.map-rings{
  inset: 2% 2.5%;
  mask-image: none;
  background:
    radial-gradient(circle at center, transparent 0 18%, rgba(12,39,64,.42) 18.15% 18.35%, transparent 18.55% 35%, rgba(185,134,61,.28) 35.15% 35.34%, transparent 35.54% 52%, rgba(185,134,61,.22) 52.15% 52.34%, transparent 52.54% 70%, rgba(20,141,120,.18) 70.15% 70.34%, transparent 70.54% 100%),
    linear-gradient(90deg, transparent 49.92%, rgba(185,134,61,.08) 50%, transparent 50.08%),
    linear-gradient(0deg, transparent 49.92%, rgba(185,134,61,.08) 50%, transparent 50.08%);
}
.b4-map .ring-label{ z-index: 2; padding: .12rem .24rem; color: rgba(20,44,69,.58); background: rgba(255,253,249,.7); white-space: nowrap; }
.b4-map .ring-decision{ top: 34%; left: 5%; transform: none; color: rgba(12,39,64,.76); }
.b4-map .ring-legislation{ top: 17%; right: 5%; left: auto; transform: none; }
.b4-map .ring-implementation{ top: 7%; left: 7%; transform: none; }
.b4-map .ring-participation{ top: auto; right: 5%; bottom: 8%; left: auto; transform: none; color: rgba(20,141,120,.7); }
@media (max-width: 780px){
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map, .b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 900px !important; height: 900px !important; }
.b4-map .stakeholder-map{ overflow: visible; }
.b4-map .ring-label{ font-size: .38rem; }
.b4-map .ring-decision{ top: 34%; left: 2%; }
.b4-map .ring-legislation{ top: 17%; right: 2%; }
.b4-map .ring-implementation{ top: 6%; left: 2%; }
.b4-map .ring-participation{ right: 2%; bottom: 7%; }
}
.b4-map /* V3.10 final cascade: the public map keeps its complete rings and gives the
   mobile collision pass enough vertical room for institutional identities. */
.stakeholder-map-stage, .b4-map .stakeholder-map{ min-height: 700px; height: 700px; }
.b4-map .stakeholder-map{ overflow: hidden; }
.b4-map .map-rings{
  inset: 2% 2.5%;
  mask-image: none;
  background:
    radial-gradient(circle at center, transparent 0 21%, rgba(184,137,59,.18) 21.2% 21.45%, transparent 21.7% 42%, rgba(184,137,59,.16) 42.2% 42.45%, transparent 42.7% 63%, rgba(42,171,148,.15) 63.2% 63.45%, transparent 63.7% 84%, rgba(26,46,94,.12) 84.2% 84.45%, transparent 84.7% 100%),
    linear-gradient(90deg, transparent 49.94%, rgba(184,137,59,.08) 50%, transparent 50.06%),
    linear-gradient(0deg, transparent 49.94%, rgba(184,137,59,.08) 50%, transparent 50.06%);
}
.b4-map .ring-label{ z-index: 1; padding: .16rem .28rem; border: 1px solid rgba(184,137,59,.18); background: rgba(249,248,246,.82); font-size: .47rem; line-height: 1.25; white-space: nowrap; }
.b4-map .ring-decision{ top: 34%; left: 5%; transform: none; color: rgba(12,39,64,.76); }
.b4-map .ring-legislation{ top: 17%; right: 5%; left: auto; transform: none; }
.b4-map .ring-implementation{ top: 7%; left: 7%; transform: none; }
.b4-map .ring-participation{ top: auto; right: 5%; bottom: 8%; left: auto; transform: none; color: rgba(20,141,120,.76); }
.b4-map .map-legend .legend-power-labels b{ font-size: .5rem; letter-spacing: .02em; }
.b4-map .cluster-preview .cluster-preview-action{ margin-top: .15rem; color: var(--gold); font-size: .55rem; font-weight: 800; }
.b4-map .detail-cluster-items{ grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: 330px; gap: .4rem; }
.b4-map .detail-cluster-item .territory-name{ color: var(--ink); font-size: .62rem; font-weight: 800; }
.b4-map .detail-cluster-item .territory-institution{ color: var(--muted); font-size: .54rem; line-height: 1.35; }
.b4-map .detail-cluster-item .territory-status{ color: var(--teal); font-size: .51rem; font-weight: 800; }
@media (max-width: 780px){
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map, .b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 900px; height: 900px; }
.b4-map .stakeholder-map{ overflow: visible; }
.b4-map .ring-label{ font-size: .38rem; }
.b4-map .ring-decision{ top: 34%; left: 2%; }
.b4-map .ring-legislation{ top: 17%; right: 2%; }
.b4-map .ring-implementation{ top: 6%; left: 2%; }
.b4-map .ring-participation{ right: 2%; bottom: 7%; }
.b4-map .detail-cluster-items{ grid-template-columns: 1fr 1fr; }
}
.b4-map /* V3.8 final relation and identity pass. */
.relation-institution-line{ stroke: rgba(12,39,64,.34); stroke-width: 1.25; }
.b4-map .relation-institution-line.solid{ stroke: rgba(12,39,64,.48); }
.b4-map .relation-institution-line.dashed{ stroke: rgba(185,134,61,.5); stroke-dasharray: 7 6; }
.b4-map .relation-institution-line.is-highlight{ stroke: var(--gold); stroke-width: 2.5; opacity: 1; }
.b4-map .legend-toggle{ display: inline-flex; align-items: center; gap: .35rem; padding: 0; border: 0; color: var(--ink); background: transparent; font-size: .62rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; cursor: pointer; }
.b4-map .legend-toggle span{ display: inline; margin: 0; color: var(--gold); font-size: .82rem; }
.b4-map .legend-content[hidden]{ display: none; }
.b4-map .legend-content{ margin-top: .55rem; }
.b4-map .institution-identity{ width: 30px; height: 30px; min-width: 30px; font-size: .44rem; }
@media (max-width: 780px){
.b4-map .institution-identity{ width: 26px; height: 26px; min-width: 26px; }
}
@media (max-width: 780px){
.b4-map .stakeholder-map{ overflow: visible; }
.b4-map .map-progressive-disclosure{ top: calc(100% + .55rem); right: .55rem; bottom: auto; left: .55rem; width: auto; }
.b4-map .map-legend{ margin-top: 4.25rem; }
}
.b4-map /* V2.7 final cascade: the map hierarchy is encoded by four rings and
   relation semantics; identity marks replace the old generic node dot. */
.map-rings{
  inset: 3% 2%;
  background:
    radial-gradient(circle at center, transparent 0 18%, rgba(12,39,64,.42) 18.15% 18.35%, transparent 18.55% 35%, rgba(185,134,61,.28) 35.15% 35.34%, transparent 35.54% 52%, rgba(185,134,61,.22) 52.15% 52.34%, transparent 52.54% 70%, rgba(20,141,120,.18) 70.15% 70.34%, transparent 70.54% 100%),
    linear-gradient(90deg, transparent 49.92%, rgba(185,134,61,.08) 50%, transparent 50.08%),
    linear-gradient(0deg, transparent 49.92%, rgba(185,134,61,.08) 50%, transparent 50.08%);
  mask-image: radial-gradient(ellipse at center, #000 0 80%, transparent 96%);
}
.b4-map .ring-label{ position: absolute; color: rgba(20,44,69,.52); font-size: .48rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .ring-decision{ top: 30%; left: 50%; color: rgba(12,39,64,.72); transform: translateX(-50%); }
.b4-map .ring-legislation{ top: 21%; left: 50%; transform: translateX(-50%); }
.b4-map .ring-implementation{ top: 12%; left: 50%; transform: translateX(-50%); }
.b4-map .ring-participation{ top: 3%; left: 50%; color: rgba(20,141,120,.62); transform: translateX(-50%); }
.b4-map .relation-line{ transition: opacity .18s, stroke-width .18s; }
.b4-map .relation-line.relation-decision{ stroke: rgba(12,39,64,.86); stroke-width: 2.5; }
.b4-map .relation-line.relation-direction{ stroke: rgba(185,134,61,.88); stroke-width: 2.1; }
.b4-map .relation-line.relation-legislation{ stroke: rgba(77,127,171,.82); stroke-width: 1.8; }
.b4-map .relation-line.relation-regulation{ stroke: rgba(77,137,194,.78); stroke-width: 1.55; stroke-dasharray: 2 4; }
.b4-map .relation-line.relation-implementation{ stroke: rgba(20,141,120,.72); stroke-width: 1.35; }
.b4-map .relation-line.relation-participation{ stroke: rgba(118,126,128,.62); stroke-width: 1.15; stroke-dasharray: 5 6; }
.b4-map .relation-line.is-highlight{ opacity: 1; stroke-width: 3; }
.b4-map .stakeholder-node.is-dimmed{ opacity: .24; }
.b4-map .stakeholder-node.is-highlight{ opacity: 1; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(185,134,61,.16), 0 11px 24px rgba(20,44,69,.14); }
.b4-map .institution-identity{ display: grid; width: 25px; height: 25px; min-width: 25px; place-items: center; margin-bottom: .32rem; overflow: hidden; border: 1px solid rgba(185,134,61,.56); border-radius: 50%; color: var(--navy); background: rgba(247,244,238,.94); font-size: .43rem; font-weight: 900; letter-spacing: -.02em; line-height: 1; }
.b4-map .identity-territory{ color: var(--teal); border-color: rgba(20,141,120,.5); }
.b4-map .identity-parliament{ color: #4d7fab; border-color: rgba(77,127,171,.5); }
.b4-map .identity-eu, .b4-map .identity-eu-commission, .b4-map .identity-eu-agency, .b4-map .identity-eu-parliament, .b4-map .identity-eu-council{ color: #315d9c; border-color: rgba(49,93,156,.42); }
.b4-map .identity-logo{ object-fit: contain; padding: .22rem; }
.b4-map .stakeholder-node .node-activity{ color: var(--gold); }
.b4-map .map-hover-detail{ position: absolute; z-index: 8; top: .85rem; right: .85rem; display: grid; max-width: 230px; gap: .2rem; padding: .58rem .68rem; border-left: 2px solid var(--gold); background: rgba(255,253,249,.93); box-shadow: 0 8px 18px rgba(20,44,69,.08); font-size: .58rem; line-height: 1.35; }
.b4-map .map-hover-detail strong{ color: var(--ink); font-size: .64rem; }
.b4-map .map-hover-detail span{ color: var(--gold); }
.b4-map .map-hover-detail small{ color: var(--muted); font-size: .53rem; }
.b4-map .agenda-note{ display: none; }
.b4-map .map-progressive-disclosure{ position: absolute; z-index: 7; right: 1rem; bottom: 1rem; width: min(330px, calc(100% - 2rem)); padding: .7rem .8rem; border: 1px solid var(--line); background: rgba(255,253,249,.94); box-shadow: 0 8px 18px rgba(20,44,69,.07); }
.b4-map .map-progressive-disclosure .eyebrow{ margin: 0 0 .35rem; font-size: .5rem; }
.b4-map .map-expansion-toggle{ display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .7rem; padding: 0; border: 0; color: var(--navy); background: transparent; font: inherit; font-size: .64rem; font-weight: 800; text-align: left; cursor: pointer; }
.b4-map .map-expansion-toggle span{ color: var(--gold); font-size: 1.1rem; }
.b4-map .map-expansion-list{ display: grid; max-height: 230px; gap: .25rem; overflow: auto; padding-top: .55rem; margin-top: .55rem; border-top: 1px solid var(--line); }
.b4-map .map-expansion-list[hidden]{ display: none; }
.b4-map .map-expansion-item{ display: grid; gap: .12rem; padding: .45rem .5rem; border: 1px solid transparent; color: var(--ink); background: rgba(255,255,255,.55); text-align: left; cursor: pointer; }
.b4-map .map-expansion-item:hover, .b4-map .map-expansion-item:focus-visible{ border-color: rgba(185,134,61,.5); outline: none; }
.b4-map .map-expansion-item strong{ font-size: .62rem; line-height: 1.25; }
.b4-map .map-expansion-item span{ color: var(--muted); font-size: .52rem; line-height: 1.3; }
@media (max-width: 780px){
.b4-map .ring-label{ font-size: .4rem; letter-spacing: .08em; }
.b4-map .map-hover-detail{ top: .55rem; right: .55rem; max-width: 180px; }
.b4-map .institution-identity{ width: 21px; height: 21px; min-width: 21px; font-size: .38rem; }
.b4-map .map-progressive-disclosure{ right: .55rem; bottom: .55rem; width: calc(100% - 1.1rem); }
.b4-map .map-expansion-list{ max-height: 260px; }
}
.b4-map /* V3.6 final cascade: keep launch-specific geometry after the historical
   Atlas compatibility layers above. */
.skip-link:focus{ top: -4rem; }
.b4-map .skip-link:focus-visible{ top: 1rem; }
.b4-map .site-header{ z-index: 50; }
.b4-map .home-hero{ background-image: linear-gradient(90deg, rgba(249,248,246,1) 0%, rgba(249,248,246,.98) 38%, rgba(249,248,246,.64) 66%, rgba(249,248,246,.08) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); }
.b4-map .area-hero{ min-height: 0; padding: 1.8rem 0 2.25rem; background-image: radial-gradient(circle at 76% 44%, rgba(184,137,59,.055) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 76% 44%, transparent 0 118px, rgba(184,137,59,.045) 119px 120px, transparent 121px 238px); }
.b4-map .area-hero-inner{ display: block; width: min(1280px, calc(100% - 104px)); }
.b4-map .area-copy{ padding-top: 0; }
.b4-map .area-hero .breadcrumb{ margin-bottom: 1.15rem; }
.b4-map .area-hero h1{ max-width: none; margin-bottom: .35rem; font-size: clamp(2.8rem, 4.4vw, 4.35rem); }
.b4-map .area-description{ max-width: 650px; margin-bottom: 0; font-size: .88rem; }
.b4-map .area-map-layout{ position: relative; margin-top: 1.5rem; }
.b4-map .stakeholder-map-stage{ min-height: 700px; height: 700px; overflow: visible; }
.b4-map .stakeholder-map{ min-height: 700px; height: 700px; overflow: hidden; border: 1px solid rgba(184,137,59,.17); background: rgba(255,255,255,.2); }
.b4-map .map-rings{ inset: 2% 2.5%; }
.b4-map .map-lines{ inset: 2% 2.5%; width: 95%; height: 96%; }
.b4-map .map-center{ width: 178px; min-height: 178px; }
.b4-map .map-legend{ position: absolute; z-index: 8; top: 1rem; left: 1rem; width: min(235px, calc(100% - 2rem)); padding: .8rem .85rem .72rem; border: 1px solid rgba(184,137,59,.22); background: rgba(255,253,249,.94); box-shadow: 0 8px 18px rgba(20,44,69,.06); }
.b4-map .map-legend span{ font-size: .6rem; }
.b4-map .legend-title{ margin-bottom: .5rem; }
.b4-map .legend-power-labels{ display: grid; gap: .25rem; margin-top: .55rem; }
.b4-map .legend-power-labels b{ padding: .18rem .28rem; font-size: .5rem; }
.b4-map .map-placeholder{ min-height: 100%; }
.b4-map .map-loading{ min-height: 100%; color: transparent; }
.b4-map .relation-line.relation-decision{ stroke: rgba(12,39,64,.88); stroke-width: 2.5; }
.b4-map .relation-line.relation-legislation, .b4-map .relation-line.relation-regulation, .b4-map .relation-line.relation-direction{ stroke: rgba(185,134,61,.84); stroke-width: 1.9; stroke-dasharray: none; }
.b4-map .relation-line.relation-implementation{ stroke: rgba(20,141,120,.76); stroke-width: 1.55; }
.b4-map .relation-line.relation-participation{ stroke: rgba(74,85,120,.52); stroke-width: 1.2; stroke-dasharray: 5 6; }
.b4-map .stakeholder-node strong{ display: block; overflow: visible; max-width: 112px; line-height: 1.22; overflow-wrap: anywhere; -webkit-line-clamp: unset; }
.b4-map .stakeholder-node .node-lineage{ display: block; max-width: 112px; overflow: visible; white-space: normal; text-overflow: clip; overflow-wrap: anywhere; }
.b4-map .topic-card{ min-height: 0; }
.b4-map .topic-card h2{ display: block; overflow: visible; max-width: none; -webkit-line-clamp: unset; }
.b4-map .footer-inner{ grid-template-columns: minmax(240px, 1.35fr) repeat(3, minmax(130px, .7fr)); }
.b4-map .footer-links{ gap: .48rem; }
@media (max-width: 1040px){
.b4-map .area-hero-inner{ width: min(100% - 64px, 1280px); }
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map{ min-height: 680px; height: 680px; }
}
@media (max-width: 780px){
.b4-map .home-hero{ background-image: linear-gradient(180deg, rgba(249,248,246,.96) 0%, rgba(249,248,246,.88) 52%, rgba(249,248,246,.46) 100%), url('/atlas/assets/atlas-institutional-hero.webp'); }
.b4-map .area-hero{ padding: 1.5rem 0 1.35rem; background-image: radial-gradient(circle at 80% 48%, rgba(184,137,59,.055) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 80% 48%, transparent 0 86px, rgba(184,137,59,.04) 87px 88px, transparent 89px 178px); }
.b4-map .area-hero-inner{ width: calc(100% - 32px); }
.b4-map .area-description{ max-width: 340px; }
.b4-map .area-map-layout{ margin-top: 1rem; }
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map, .b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 720px; height: 720px; }
.b4-map .stakeholder-map{ overflow: visible; }
.b4-map .map-legend{ position: static; width: 100%; margin-top: .8rem; box-shadow: none; }
.b4-map .map-progressive-disclosure{ top: calc(100% + .55rem); right: .55rem; bottom: auto; left: .55rem; width: auto; }
.b4-map .map-legend{ margin-top: 4.25rem; }
.b4-map .map-center{ width: 126px; min-height: 126px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node{ width: 86px; min-height: 66px; padding: .36rem .28rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-large{ width: 92px; min-height: 70px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node.size-small{ width: 82px; min-height: 62px; }
.b4-map .stakeholder-map.map-dense .stakeholder-node strong{ max-width: 76px; font-size: .45rem; line-height: 1.2; -webkit-line-clamp: unset; }
.b4-map .stakeholder-map.map-dense .stakeholder-node small{ font-size: .37rem; }
.b4-map .stakeholder-map.map-dense .stakeholder-node .node-lineage{ max-width: 76px; font-size: .34rem; }
.b4-map .footer-inner{ grid-template-columns: 1fr 1fr; }
.b4-map .footer-intro{ grid-column: 1 / -1; }
}
@media (max-width: 390px){
.b4-map .stakeholder-map-stage, .b4-map .stakeholder-map, .b4-map .stakeholder-map-stage.map-dense, .b4-map .stakeholder-map.map-dense{ min-height: 700px; height: 700px; }
}
.b4-map /* V3.11 — approved Area map composition. These selectors deliberately use
   the v311 representation namespace so the historical map geometry is no
   longer part of the rendered surface. */
.area-hero-inner{ display: grid; grid-template-columns: minmax(230px, 280px) minmax(0, 1fr); align-items: start; gap: 2.1rem; min-height: 0; }
.b4-map .area-hero{ background-image: radial-gradient(circle at 78% 28%, rgba(184,137,59,.035) 0 1px, transparent 1.5px); }
.b4-map .area-copy{ min-width: 0; }
.b4-map .area-map-layout{ position: relative; min-width: 0; margin-top: 0; }
.b4-map .area-map-layout .stakeholder-map-stage{ margin: 0; }
.b4-map .area-copy .map-legend{ position: relative; top: auto; right: auto; bottom: auto; left: auto; width: 222px; margin-top: 1.7rem; padding: 0; border: 0; background: transparent; box-shadow: none; }
.b4-map .area-copy .legend-toggle{ display: inline-flex; width: 100%; min-height: 47px; align-items: center; justify-content: space-between; padding: .72rem .82rem; border: 1px solid rgba(184,137,59,.28); color: var(--ink); background: rgba(255,255,255,.72); box-shadow: 0 7px 18px rgba(20,44,69,.05); font-size: .62rem; letter-spacing: .01em; text-transform: none; }
.b4-map .area-copy .legend-toggle::before{ content: '⌘'; display: grid; width: 21px; height: 21px; place-items: center; margin-right: .42rem; border: 1px solid rgba(184,137,59,.42); border-radius: 50%; color: var(--gold); font-size: .74rem; }
.b4-map .area-copy .legend-toggle span{ margin-left: auto; color: var(--gold); font-size: .9rem; }
.b4-map .area-copy .legend-content{ position: relative; display: grid; gap: .48rem; margin-top: .55rem; padding: .75rem .8rem; border: 1px solid var(--line); background: rgba(255,255,255,.82); }
.b4-map .area-copy .legend-content[hidden]{ display: none; }
.b4-map .area-copy .legend-content > span{ display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: .42rem; align-items: center; margin: 0; color: var(--ink-soft); font-size: .59rem; line-height: 1.3; }
.b4-map .area-copy .legend-content .legend-power-labels{ display: grid; gap: .28rem; margin-top: .2rem; }
.b4-map .area-copy .legend-content .legend-power-labels b{ padding: .22rem .3rem; border-color: rgba(184,137,59,.24); font-size: .5rem; }
.b4-map .stakeholder-map-stage{ min-height: 620px; height: 620px; overflow: visible; }
.b4-map .stakeholder-map-stage.map-dense{ min-height: 620px; height: 620px; }
.b4-map .stakeholder-map-v311{ position: relative; width: 100%; height: 100%; min-height: 0; overflow: visible; border: 0; background: radial-gradient(circle at 50% 52%, rgba(255,255,255,.52) 0 23%, transparent 23.4%), radial-gradient(circle at 50% 52%, transparent 0 62%, rgba(184,137,59,.028) 62.2% 62.5%, transparent 62.8%); }
.b4-map .map-graphic{ position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.b4-map .map-ring{ fill: none; stroke-width: 1.35; vector-effect: non-scaling-stroke; }
.b4-map .map-ring.ring-decision{ stroke: rgba(54,106,184,.62); }
.b4-map .map-ring.ring-legislation{ stroke: rgba(184,137,59,.62); }
.b4-map .map-ring.ring-implementation{ stroke: rgba(42,171,148,.54); }
.b4-map .map-ring.ring-participation{ stroke: rgba(42,171,148,.3); }
.b4-map .map-ring-label{ fill: rgba(20,44,69,.7); font-family: var(--sans); font-size: 12px; font-weight: 800; letter-spacing: 1px; }
.b4-map .map-ring-label.label-legislation{ fill: rgba(158,111,42,.85); }
.b4-map .map-ring-label.label-implementation, .b4-map .map-ring-label.label-participation{ fill: rgba(17,133,114,.78); }
.b4-map .map-relations .relation-line{ fill: none; stroke-width: 1.35; vector-effect: non-scaling-stroke; opacity: .58; transition: opacity .16s, stroke-width .16s; }
.b4-map .map-relations .relation-area-line{ stroke-width: 1.7; opacity: .75; }
.b4-map .map-relations .relation-decision{ stroke: rgba(12,39,64,.9); }
.b4-map .map-relations .relation-legislation{ stroke: rgba(184,137,59,.82); }
.b4-map .map-relations .relation-implementation{ stroke: rgba(20,141,120,.78); }
.b4-map .map-relations .relation-participation{ stroke: rgba(91,116,136,.56); stroke-dasharray: 5 6; }
.b4-map .map-relations .relation-institution-line{ stroke: rgba(79,102,123,.42); stroke-dasharray: 3 5; }
.b4-map .map-relations .relation-institution-line.solid{ stroke: rgba(79,102,123,.52); stroke-dasharray: none; }
.b4-map .map-relations .relation-line.is-dimmed{ opacity: .12; }
.b4-map .map-relations .relation-line.is-highlight{ opacity: 1; stroke-width: 2.7; }
.b4-map .map-center-v311{ top: 52%; left: 50%; width: 148px; min-height: 148px; aspect-ratio: 1; padding: 1rem; border: 0; border-radius: 50%; color: var(--white); background: var(--navy-deep); box-shadow: 0 10px 22px rgba(17,31,66,.14); }
.b4-map .map-center-v311::after{ content: ''; position: absolute; inset: -7px; border: 1px solid rgba(184,137,59,.26); border-radius: 50%; }
.b4-map .map-center-v311 span{ margin-bottom: .3rem; color: rgba(255,255,255,.74); font-size: .53rem; letter-spacing: .16em; }
.b4-map .map-center-v311 strong{ max-width: 120px; font-family: var(--serif); font-size: 1.48rem; font-weight: 400; line-height: 1.08; }
.b4-map .stakeholder-node-v311{ z-index: 3; width: 104px; min-height: 104px; aspect-ratio: 1; padding: .7rem .5rem .56rem; border: 1px solid rgba(20,44,69,.2); border-radius: 50%; background: rgba(255,255,255,.93); box-shadow: 0 5px 13px rgba(20,44,69,.06); transition: transform .16s ease, opacity .16s ease, border-color .16s ease, box-shadow .16s ease; }
.b4-map .stakeholder-node-v311 strong{ display: -webkit-box; max-width: 91px; overflow: hidden; color: var(--ink); font-size: .62rem; line-height: 1.18; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.b4-map .stakeholder-node-v311 small{ max-width: 92px; margin-top: .28rem; color: var(--muted); font-size: .48rem; font-weight: 800; letter-spacing: .06em; line-height: 1.18; text-transform: uppercase; }
.b4-map .stakeholder-node-v311.power-decision{ border: 2px solid rgba(28,81,143,.58); }
.b4-map .stakeholder-node-v311.power-legislation{ border-color: rgba(184,137,59,.65); }
.b4-map .stakeholder-node-v311.power-implementation{ border-color: rgba(42,171,148,.58); }
.b4-map .stakeholder-node-v311.power-participation{ border-color: rgba(88,126,145,.34); }
.b4-map .stakeholder-node-v311.cluster-node{ width: 112px; min-height: 112px; border: 2px solid rgba(42,171,148,.72); background: rgba(248,253,251,.96); }
.b4-map .stakeholder-node-v311.is-active::after{ content: ''; position: absolute; inset: -5px; border: 1px solid rgba(184,137,59,.58); border-radius: 50%; }
.b4-map .stakeholder-node-v311.is-highlight, .b4-map .stakeholder-node-v311[aria-expanded="true"]{ z-index: 6; border-color: var(--gold); box-shadow: 0 0 0 5px rgba(184,137,59,.14), 0 10px 22px rgba(20,44,69,.12); transform: translate(-50%, -50%) scale(1.045); }
.b4-map .stakeholder-node-v311.is-dimmed{ opacity: .24; }
.b4-map .map-node-identity{ display: grid; width: 35px; height: 35px; min-width: 35px; place-items: center; margin-bottom: .3rem; overflow: hidden; border: 1px solid rgba(184,137,59,.4); border-radius: 50%; color: var(--navy); background: rgba(247,244,238,.9); font-size: .45rem; font-weight: 900; line-height: 1; }
.b4-map .map-node-identity.identity-territory{ color: var(--teal); border-color: rgba(42,171,148,.5); }
.b4-map .map-node-identity.identity-parliament, .b4-map .map-node-identity.identity-eu, .b4-map .map-node-identity.identity-eu-agency, .b4-map .map-node-identity.identity-eu-commission{ color: #376b9e; border-color: rgba(55,107,158,.44); }
.b4-map .map-node-identity.identity-logo{ object-fit: contain; padding: .22rem; }
.b4-map .node-badge{ position: absolute; top: 9px; right: 12px; display: grid; width: 20px; height: 20px; place-items: center; border-radius: 50%; color: var(--white); background: var(--teal); font-size: .52rem; font-weight: 900; }
.b4-map .node-activity-dot{ width: 6px; height: 6px; margin-top: .26rem; border: 1px solid var(--paper); border-radius: 50%; background: var(--gold); box-shadow: 0 0 0 2px rgba(184,137,59,.18); }
.b4-map .map-hover-detail-v311{ position: absolute; z-index: 8; display: grid; gap: .35rem; min-height: 0; padding: .82rem .9rem; border: 1px solid rgba(184,137,59,.28); border-left: 2px solid var(--gold); border-radius: 2px; background: rgba(255,253,249,.97); box-shadow: 0 12px 24px rgba(20,44,69,.11); color: var(--ink); pointer-events: none; font-size: .62rem; line-height: 1.42; }
.b4-map .map-hover-detail-v311 .popover-heading{ display: flex; align-items: center; gap: .5rem; }
.b4-map .map-hover-detail-v311 .popover-heading img, .b4-map .map-hover-detail-v311 .popover-mark{ display: grid; width: 28px; height: 28px; place-items: center; flex: 0 0 28px; border-radius: 50%; color: var(--navy); background: var(--paper); object-fit: contain; }
.b4-map .map-hover-detail-v311 .popover-mark{ border: 1px solid rgba(184,137,59,.4); font-size: .54rem; font-weight: 900; }
.b4-map .map-hover-detail-v311 strong{ font-size: .7rem; line-height: 1.2; }
.b4-map .map-hover-detail-v311 b{ color: var(--gold); font-size: .57rem; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .map-hover-detail-v311 p{ margin: 0; color: var(--ink-soft); }
.b4-map .map-hover-detail-v311 small{ color: var(--teal); font-weight: 800; }
.b4-map .map-secondary-disclosure{ position: absolute; z-index: 4; right: .5rem; bottom: .2rem; width: min(300px, 45%); }
.b4-map .map-secondary-disclosure .map-expansion-toggle{ display: flex; width: 100%; align-items: center; justify-content: space-between; gap: .6rem; padding: .48rem .58rem; border: 1px solid rgba(184,137,59,.22); color: var(--ink-soft); background: rgba(255,253,249,.84); font-size: .57rem; font-weight: 800; text-align: left; cursor: pointer; }
.b4-map .map-secondary-disclosure .map-expansion-toggle span{ color: var(--gold); font-size: .9rem; }
.b4-map .map-secondary-disclosure .map-expansion-list{ display: grid; max-height: 210px; gap: .25rem; overflow: auto; padding: .45rem; border: 1px solid var(--line); border-top: 0; background: rgba(255,253,249,.98); }
.b4-map .map-secondary-disclosure .map-expansion-list[hidden]{ display: none; }
.b4-map .map-secondary-disclosure .map-expansion-item{ display: grid; gap: .12rem; padding: .35rem .4rem; border: 1px solid transparent; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .map-secondary-disclosure .map-expansion-item:hover, .b4-map .map-secondary-disclosure .map-expansion-item:focus-visible{ border-color: rgba(184,137,59,.38); outline: 0; }
.b4-map .map-secondary-disclosure .map-expansion-item strong{ font-size: .6rem; }
.b4-map .map-secondary-disclosure .map-expansion-item span{ color: var(--muted); font-size: .52rem; }
.b4-map .stakeholder-detail-v311{ position: fixed; z-index: 80; top: 66px; right: 0; bottom: 0; width: min(420px, 36vw); max-height: none; overflow-y: auto; padding: 2rem 1.8rem 2.2rem; border: 0; border-left: 1px solid var(--line); background: rgba(255,253,249,.98); box-shadow: -14px 0 34px rgba(20,44,69,.1); opacity: 0; transform: translateX(22px); transition: opacity .18s ease, transform .18s ease; }
.b4-map .stakeholder-detail-v311.is-open{ opacity: 1; transform: translateX(0); }
.b4-map .stakeholder-detail-v311 .detail-close{ top: 1.05rem; right: 1.15rem; font-size: 1.5rem; }
.b4-map .detail-identity{ display: grid; width: 52px; height: 52px; place-items: center; margin-bottom: .75rem; border: 1px solid rgba(184,137,59,.35); border-radius: 50%; color: var(--navy); background: var(--paper); font-size: .7rem; font-weight: 900; }
.b4-map .detail-identity img{ width: 38px; height: 38px; object-fit: contain; }
.b4-map .stakeholder-detail-v311 .detail-kicker{ margin-bottom: .55rem; }
.b4-map .stakeholder-detail-v311 h2{ max-width: 340px; margin-bottom: .35rem; font-family: var(--serif); font-size: 1.75rem; font-weight: 400; line-height: 1.12; }
.b4-map .stakeholder-detail-v311 .detail-layer{ margin: 0 0 1.25rem; color: var(--gold); font-size: .57rem; letter-spacing: .1em; }
.b4-map .stakeholder-detail-v311 .detail-role, .b4-map .stakeholder-detail-v311 .detail-evidence{ margin: 0; color: var(--ink-soft); font-size: .7rem; line-height: 1.55; }
.b4-map .stakeholder-detail-v311 .detail-divider{ margin: 1.05rem 0; }
.b4-map .stakeholder-detail-v311 .detail-section-label{ margin: 0 0 .38rem; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.b4-map .stakeholder-detail-v311 .detail-role section, .b4-map .stakeholder-detail-v311 .detail-evidence section{ margin-bottom: 1.05rem; }
.b4-map .stakeholder-detail-v311 .detail-role p:not(.detail-section-label), .b4-map .stakeholder-detail-v311 .detail-source-note{ margin: 0; }
.b4-map .detail-bullet-list, .b4-map .detail-agenda-list{ display: grid; gap: .52rem; padding: 0; margin: 0; list-style: none; }
.b4-map .detail-bullet-list li, .b4-map .detail-agenda-list li{ position: relative; padding-left: 1rem; }
.b4-map .detail-bullet-list li::before, .b4-map .detail-agenda-list li::before{ content: ''; position: absolute; top: .48rem; left: 0; width: 5px; height: 5px; border: 1px solid var(--gold); border-radius: 50%; }
.b4-map .detail-source-note{ padding-top: .55rem; color: var(--muted); font-size: .64rem; }
.b4-map .detail-cluster-list{ margin-top: .5rem; }
.b4-map .cluster-intro{ margin: 0 0 .65rem; color: var(--muted); font-size: .64rem; line-height: 1.45; }
.b4-map .stakeholder-detail-v311 .detail-cluster-items{ display: grid; grid-template-columns: 1fr; gap: .25rem; max-height: none; overflow: visible; }
.b4-map .detail-cluster-item{ position: relative; display: grid; gap: .1rem; padding: .68rem 1.5rem .68rem .1rem; border: 0; border-top: 1px solid var(--line); color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .detail-cluster-item:hover, .b4-map .detail-cluster-item:focus-visible{ border-color: var(--line); background: rgba(255,255,255,.5); outline: 0; }
.b4-map .detail-cluster-item.is-territory-hidden{ display: none; }
.b4-map .detail-cluster-item .territory-name{ font-size: .68rem; }
.b4-map .detail-cluster-item .territory-institution{ color: var(--muted); font-size: .57rem; }
.b4-map .detail-cluster-item .territory-secondary{ color: var(--ink-soft); font-size: .53rem; line-height: 1.35; }
.b4-map .detail-cluster-item .territory-secondary span{ color: var(--muted); font-weight: 800; }
.b4-map .detail-cluster-item .territory-status{ color: var(--teal); font-size: .52rem; font-weight: 800; }
.b4-map .territory-chevron{ position: absolute; top: 50%; right: .25rem; color: var(--muted); font-size: 1rem; transform: translateY(-50%); }
.b4-map .territory-more{ display: flex; width: 100%; align-items: center; justify-content: space-between; padding: .78rem .1rem 0; border: 0; color: var(--gold); background: transparent; font-size: .62rem; font-weight: 800; cursor: pointer; }
.b4-map .detail-actions{ display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1.4rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.b4-map .detail-actions .detail-link{ font-size: .63rem; }
.b4-map .detail-cluster-item-main{ position: relative; display: grid; width: 100%; gap: .1rem; padding: .68rem 1.5rem .18rem .1rem; border: 0; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .detail-cluster-item-main:hover, .b4-map .detail-cluster-item-main:focus-visible{ outline: 0; background: rgba(255,255,255,.5); }
.b4-map .detail-cluster-item:has(.detail-cluster-item-main){ padding: 0; border-top: 1px solid var(--line); }
.b4-map .detail-cluster-item .territory-responsible{ color: var(--ink-soft); font-size: .53rem; line-height: 1.35; }
.b4-map .territory-source{ display: inline-block; padding: .1rem .1rem .55rem; color: var(--gold); font-size: .54rem; font-weight: 800; text-decoration: none; }
.b4-map .territory-source:hover, .b4-map .territory-source:focus-visible{ color: var(--navy); text-decoration: underline; }
.b4-map .map-placeholder, .b4-map .map-loading{ min-height: 100%; }
@media (max-width: 1040px) and (min-width: 781px){
.b4-map .area-hero-inner{ grid-template-columns: minmax(200px, 235px) minmax(0, 1fr); gap: 1.2rem; }
.b4-map .stakeholder-map-stage{ height: 600px; min-height: 600px; }
.b4-map .stakeholder-node-v311{ width: 102px; min-height: 102px; }
.b4-map .map-center-v311{ width: 136px; min-height: 136px; }
}
@media (max-width: 780px){
.b4-map .area-hero-inner{ display: block; width: calc(100% - 32px); }
.b4-map .area-copy .map-legend{ width: min(100%, 292px); margin-top: 1.25rem; }
.b4-map .area-map-layout{ margin-top: .75rem; }
.b4-map .stakeholder-map-stage{ height: 610px !important; min-height: 610px !important; margin: 0; }
.b4-map .stakeholder-map-stage.map-dense{ height: 610px; min-height: 610px; }
.b4-map .stakeholder-map-v311{ min-height: 0; }
.b4-map .stakeholder-map-v311{ height: 100% !important; min-height: 0 !important; }
.b4-map .map-ring-label{ font-size: 11px; letter-spacing: .7px; }
.b4-map .map-center-v311{ width: 112px; min-height: 112px; }
.b4-map .map-center-v311 strong{ max-width: 92px; font-size: 1.12rem; }
.b4-map .stakeholder-node-v311{ width: 82px; min-height: 82px; padding: .48rem .3rem .38rem; }
.b4-map .stakeholder-node-v311.cluster-node{ width: 92px; min-height: 92px; }
.b4-map .stakeholder-node-v311 strong{ max-width: 69px; font-size: .5rem; line-height: 1.14; }
.b4-map .stakeholder-node-v311 small{ max-width: 72px; margin-top: .18rem; font-size: .37rem; letter-spacing: .03em; }
.b4-map .map-node-identity{ width: 26px; height: 26px; min-width: 26px; margin-bottom: .2rem; font-size: .35rem; }
.b4-map .node-badge{ top: 5px; right: 7px; width: 17px; height: 17px; font-size: .43rem; }
.b4-map .map-hover-detail-v311{ display: none !important; }
.b4-map .map-secondary-disclosure{ right: .1rem; bottom: .15rem; width: min(270px, 78%); }
.b4-map .stakeholder-detail-v311{ top: auto; right: 0; bottom: 0; left: 0; width: 100%; max-height: 88vh; padding: 1.35rem 1.2rem 1.6rem; border-top: 1px solid var(--line); border-left: 0; box-shadow: 0 -14px 34px rgba(20,44,69,.13); transform: translateY(22px); }
.b4-map .stakeholder-detail-v311 h2{ max-width: calc(100% - 2rem); font-size: 1.48rem; }
.b4-map .stakeholder-detail-v311 .detail-actions{ padding-bottom: .3rem; }
}
@media (max-width: 390px){
.b4-map .stakeholder-map-stage{ height: 580px !important; min-height: 580px !important; }
.b4-map .stakeholder-map-stage.map-dense{ height: 580px; min-height: 580px; }
.b4-map .map-ring-label{ font-size: 9px; }
.b4-map .stakeholder-node-v311{ width: 76px; min-height: 76px; }
.b4-map .stakeholder-node-v311.cluster-node{ width: 84px; min-height: 84px; }
.b4-map .stakeholder-node-v311 strong{ max-width: 64px; font-size: .47rem; }
}
.b4-map /* V3.12 visual recovery: the graph owns a square coordinate system. The
   copy sits above the composition and can no longer push its center aside. */
.area-hero-inner{ display: block; width: min(1280px, calc(100% - 104px)); }
.b4-map .area-copy{ max-width: 560px; }
.b4-map .area-map-layout{ position: relative; margin-top: .8rem; }
.b4-map .area-map-layout > .map-legend{ position: absolute; z-index: 10; top: 1rem; left: 1rem; width: 222px; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }
.b4-map .stakeholder-map-stage{ width: min(900px, 100%); height: auto; aspect-ratio: 1; min-height: 0; margin: 0 auto !important; overflow: hidden; }
.b4-map .stakeholder-map-v311{ overflow: hidden; background: radial-gradient(circle at 50% 50%, rgba(255,255,255,.62) 0 14%, transparent 14.4%), radial-gradient(circle at 50% 50%, rgba(184,137,59,.045) 0 43%, transparent 43.3%), #fbfaf7; }
.b4-map .map-graphic{ overflow: visible; }
.b4-map .map-rings-v311 .map-ring{ position: static; inset: auto; transform: none !important; stroke-width: 1.4; }
.b4-map .map-ring-label-group rect{ fill: rgba(251,250,247,.96); stroke: rgba(184,137,59,.14); }
.b4-map .map-ring-label{ fill: rgba(20,44,69,.82); font-size: 12px; font-weight: 800; letter-spacing: 1.1px; }
.b4-map .map-ring-label-group.label-legislation .map-ring-label{ fill: rgba(158,111,42,.92); }
.b4-map .map-ring-label-group.label-implementation .map-ring-label, .b4-map .map-ring-label-group.label-participation .map-ring-label{ fill: rgba(17,133,114,.86); }
.b4-map .map-relations-v311 .relation-line{ fill: none; stroke-width: 1.45; vector-effect: non-scaling-stroke; opacity: .56; transition: opacity .16s, stroke-width .16s; }
.b4-map .map-relations-v311 .relation-area-line{ stroke-width: 1.7; opacity: .72; }
.b4-map .map-relations-v311 .relation-decision{ stroke: rgba(12,39,64,.9); }
.b4-map .map-relations-v311 .relation-legislation{ stroke: rgba(184,137,59,.84); }
.b4-map .map-relations-v311 .relation-implementation{ stroke: rgba(20,141,120,.8); }
.b4-map .map-relations-v311 .relation-participation{ stroke: rgba(91,116,136,.6); stroke-dasharray: 5 6; }
.b4-map .map-relations-v311 .relation-institution-line{ stroke: rgba(79,102,123,.38); stroke-dasharray: 3 5; }
.b4-map .map-relations-v311 .relation-institution-line.solid{ stroke: rgba(79,102,123,.52); stroke-dasharray: none; }
.b4-map .map-relations-v311 .relation-line.is-dimmed{ opacity: .1; }
.b4-map .map-relations-v311 .relation-line.is-highlight{ opacity: 1; stroke-width: 2.8; }
.b4-map .map-center-v311{ top: 50%; left: 50%; width: 148px; min-height: 148px; }
.b4-map .stakeholder-node-v311{ width: 104px; min-height: 104px; }
.b4-map .stakeholder-node-v311.cluster-node{ width: 112px; min-height: 112px; }
.b4-map .map-node-identity{ width: 40px; height: 32px; min-width: 40px; border-radius: 7px; font-size: .46rem; }
.b4-map .map-node-identity.identity-logo{ padding: .18rem; }
.b4-map .map-node-identity.identity-family{ display: flex; flex-direction: column; justify-content: center; gap: .16rem; color: var(--navy); background: rgba(247,244,238,.96); }
.b4-map .map-node-identity.identity-family b{ font-size: .58rem; line-height: 1; }
.b4-map .map-node-identity.identity-family small{ color: var(--muted); font-size: .35rem; font-weight: 800; letter-spacing: .04em; line-height: 1; }
.b4-map .map-node-identity.identity-family.identity-eu, .b4-map .map-node-identity.identity-family.identity-eu-agency, .b4-map .map-node-identity.identity-family.identity-eu-commission{ color: #245c91; border-color: rgba(55,107,158,.48); }
.b4-map .map-node-identity.identity-family.identity-parliament{ color: #244d89; border-color: rgba(55,107,158,.48); }
.b4-map .map-node-identity.identity-family.identity-territory{ color: var(--teal); border-color: rgba(42,171,148,.56); }
.b4-map .map-hover-detail-v311{ border-left-width: 2px; }
@media (max-width: 1040px) and (min-width: 781px){
.b4-map .area-hero-inner{ width: min(100% - 64px, 1280px); }
.b4-map .stakeholder-map-stage{ width: min(860px, 100%); }
}
@media (max-width: 780px){
.b4-map .area-hero-inner{ display: block; width: calc(100% - 32px); }
.b4-map .area-copy{ max-width: none; }
.b4-map .area-map-layout{ margin-top: 1rem; }
.b4-map .area-map-layout > .map-legend{ top: .6rem; left: .6rem; width: 188px; }
.b4-map .stakeholder-map-stage{ width: 100%; height: auto !important; min-height: 0 !important; aspect-ratio: 1; margin: 0; }
.b4-map .stakeholder-map-v311{ height: 100%; min-height: 0; }
.b4-map .map-ring-label{ font-size: 10px; letter-spacing: .65px; }
.b4-map .map-ring-label-group rect{ opacity: .98; }
.b4-map .map-center-v311{ width: 84px; min-height: 84px; padding: .55rem; }
.b4-map .map-center-v311 span{ font-size: .42rem; }
.b4-map .map-center-v311 strong{ max-width: 72px; font-size: .98rem; }
.b4-map .stakeholder-node-v311{ width: 68px; min-height: 68px; padding: .35rem .22rem .28rem; }
.b4-map .stakeholder-node-v311.cluster-node{ width: 74px; min-height: 74px; }
.b4-map .stakeholder-node-v311 strong{ max-width: 58px; font-size: .43rem; line-height: 1.12; }
.b4-map .stakeholder-node-v311 small{ max-width: 60px; margin-top: .15rem; font-size: .31rem; letter-spacing: .02em; }
.b4-map .map-node-identity{ width: 24px; height: 22px; min-width: 24px; margin-bottom: .16rem; font-size: .3rem; }
.b4-map .map-node-identity.identity-family b{ font-size: .43rem; }
.b4-map .map-node-identity.identity-family small{ font-size: .27rem; }
.b4-map .node-badge{ top: 3px; right: 5px; width: 15px; height: 15px; font-size: .38rem; }
.b4-map .map-secondary-disclosure{ right: .35rem; bottom: .35rem; width: min(250px, 76%); }
.b4-map .map-hover-detail-v311{ display: none !important; }
}
.b4-map /* V3.21 human pass: keep the complete area hierarchy in the desktop first
   viewport without changing the four-ring map model or mobile composition. */
@media (min-width: 1041px){
  .stakeholder-map-stage { width: min(860px, 100%); }
}
@media (max-width: 390px){
.b4-map .map-ring-label{ font-size: 9px; }
.b4-map .stakeholder-node-v311{ width: 64px; min-height: 64px; }
.b4-map .stakeholder-node-v311.cluster-node{ width: 70px; min-height: 70px; }
}
.b4-map /* V3.13 fidelity pass: institutional nodes are marks in a composed map, .b4-map not
   cards inside circles.  Keep the V3.12 coordinate contract and refine only
   the visual treatment around it. */
.stakeholder-map-v311 .map-ring{ stroke-width: 1.05; }
.b4-map .stakeholder-map-v311 .map-ring.ring-decision{ stroke: rgba(54,106,184,.48); }
.b4-map .stakeholder-map-v311 .map-ring.ring-legislation{ stroke: rgba(184,137,59,.48); }
.b4-map .stakeholder-map-v311 .map-ring.ring-implementation{ stroke: rgba(42,171,148,.42); }
.b4-map .stakeholder-map-v311 .map-ring.ring-participation{ stroke: rgba(42,171,148,.22); }
.b4-map .stakeholder-map-v311 .map-ring-label-group rect{ fill: rgba(251,250,247,.86); stroke: none; }
.b4-map .stakeholder-map-v311 .map-ring-label{ font-size: 11px; font-weight: 800; letter-spacing: 1.2px; }
.b4-map .stakeholder-map-v311 .map-relations-v311 .relation-line{ opacity: .46; stroke-width: 1.2; }
.b4-map .stakeholder-map-v311 .map-relations-v311 .relation-area-line{ opacity: .62; stroke-width: 1.45; }
.b4-map .stakeholder-map-v311 .map-relations-v311 .relation-institution-line{ opacity: .3; }
.b4-map .stakeholder-map-v311 .map-relations-v311 .relation-line.is-dimmed{ opacity: .08; }
.b4-map .stakeholder-map-v311 .map-relations-v311 .relation-line.is-highlight{ opacity: .92; stroke-width: 2.35; }
.b4-map .stakeholder-map-v311 .map-center-v311{ width: 148px; min-height: 148px; box-shadow: 0 12px 28px rgba(17,31,66,.18), 0 0 0 8px rgba(12,39,64,.035); }
.b4-map .stakeholder-map-v311 .map-center-v311::after{ display: none; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311{ width: 104px; min-height: 104px; padding: .62rem .42rem .52rem; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.size-large{ width: 118px; min-height: 118px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.size-small{ width: 94px; min-height: 94px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.cluster-node{ width: 112px; min-height: 112px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311 strong{ max-width: 92px; font-size: .76rem; font-weight: 700; line-height: 1.14; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311 small{ max-width: 94px; margin-top: .25rem; font-size: .48rem; letter-spacing: .07em; line-height: 1.2; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311 strong, .b4-map .stakeholder-map-v311 .map-node-secondary-label, .b4-map .stakeholder-map-v311 .stakeholder-node-v311 small{ width: 100%; box-sizing: border-box; overflow-wrap: anywhere; text-align: center; }
.b4-map .stakeholder-map-v311 .map-node-secondary-label{ display: block; max-width: 94px; margin-top: .08rem; color: var(--ink-soft); font-size: .44rem; font-weight: 700; line-height: 1.05; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311[data-display-name="Comisión Defensa"] strong{ font-size: .62rem; line-height: 1.1; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311[data-display-name="Comisión Digital"] strong, .b4-map .stakeholder-map-v311 .stakeholder-node-v311[data-display-name="Comisión Ambiental"] strong{ font-size: .68rem; line-height: 1.1; }
.b4-map .stakeholder-map-v311 .map-node-identity{ display: flex; width: auto; height: auto; min-width: 0; max-width: 78px; max-height: 38px; align-items: center; justify-content: center; margin: 0 auto .28rem; overflow: hidden; border: 0; border-radius: 0; color: var(--navy); background: transparent; font-size: .64rem; line-height: 1; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-logo{ display: block; width: auto; height: auto; max-width: 72px; max-height: 36px; object-fit: contain; object-position: center; padding: 0; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-family{ display: flex; flex-direction: column; gap: .12rem; color: var(--navy); background: transparent; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-family b{ font-size: .68rem; line-height: 1; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-family small{ margin: 0; color: var(--muted); font-size: .36rem; font-weight: 800; letter-spacing: .05em; line-height: 1; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-eu-agency b, .b4-map .stakeholder-map-v311 .map-node-identity.identity-eu-council b{ color: #245c91; }
.b4-map .stakeholder-map-v311 .node-badge{ top: 7px; right: 10px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.is-highlight, .b4-map .stakeholder-map-v311 .stakeholder-node-v311[aria-expanded="true"]{ box-shadow: 0 0 0 6px rgba(184,137,59,.12), 0 13px 28px rgba(20,44,69,.16); }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.is-dimmed{ opacity: .4; }
.b4-map .stakeholder-map-v311 .map-hover-detail-v311 .popover-heading img, .b4-map .stakeholder-map-v311 .map-hover-detail-v311 .popover-mark{ width: auto; height: 30px; max-width: 54px; flex-basis: auto; border: 0; border-radius: 0; background: transparent; }
.b4-map .stakeholder-map-v311 .map-hover-detail-v311{ max-width: 330px; border: 1px solid rgba(184,137,59,.24); border-left: 2px solid var(--gold); border-radius: 1px; box-shadow: 0 14px 30px rgba(20,44,69,.14); }
.b4-map .stakeholder-map-v311 .map-secondary-disclosure .map-expansion-toggle{ display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .45rem; border: 0; border-top: 1px solid rgba(184,137,59,.25); border-bottom: 1px solid rgba(184,137,59,.16); background: rgba(255,253,249,.76); }
.b4-map .stakeholder-map-v311 .map-secondary-disclosure .disclosure-count{ color: var(--gold); font-size: .65rem; font-weight: 900; }
.b4-map .stakeholder-map-v311 .map-secondary-disclosure .map-expansion-toggle span:nth-child(2){ color: var(--ink-soft); font-size: .57rem; }
.b4-map .stakeholder-map-v311 .map-secondary-disclosure .map-expansion-toggle > span:last-child{ color: var(--gold); }
.b4-map .stakeholder-detail-v311{ top: 67px; max-height: calc(100vh - 67px); padding: 1.8rem 1.8rem 2rem; }
.b4-map .stakeholder-detail-v311 .detail-identity{ display: flex; width: auto; height: 56px; align-items: center; justify-content: flex-start; margin-bottom: .8rem; border: 0; border-radius: 0; background: transparent; }
.b4-map .stakeholder-detail-v311 .detail-identity-mark{ display: block; width: auto; max-width: 150px; max-height: 54px; color: var(--navy); font-size: 1rem; font-weight: 800; object-fit: contain; }
.b4-map .stakeholder-detail-v311 .detail-phase-chips{ display: flex; flex-wrap: wrap; gap: .3rem; margin: .1rem 0 .65rem; }
.b4-map .stakeholder-detail-v311 .detail-phase-chips span{ padding: .22rem .34rem; border: 1px solid rgba(20,141,120,.2); color: var(--teal); background: rgba(225,241,235,.34); font-size: .52rem; font-weight: 800; letter-spacing: .05em; }
.b4-map .stakeholder-detail-v311 .detail-capacity-label{ margin-right: .25rem; color: var(--navy); font-size: .58rem; letter-spacing: .08em; }
.b4-map .stakeholder-detail-v311 .detail-agenda-list li{ display: grid; gap: .12rem; }
.b4-map .stakeholder-detail-v311 .detail-agenda-list li span{ color: var(--muted); font-size: .58rem; }
.b4-map .skip-link{ top: -5rem !important; visibility: visible !important; opacity: 0 !important; clip-path: inset(50%) !important; }
.b4-map .skip-link:focus{ top: -5rem !important; visibility: visible !important; opacity: 0 !important; clip-path: inset(50%) !important; }
.b4-map .skip-link:focus-visible{ top: 1rem !important; visibility: visible !important; opacity: 1 !important; clip-path: none !important; }
@media (max-width: 780px){
.b4-map .stakeholder-map-v311 .map-center-v311{ width: 84px; min-height: 84px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311{ width: 68px; min-height: 68px; padding: .34rem .2rem .28rem; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.size-large{ width: 80px; min-height: 80px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.size-small{ width: 62px; min-height: 62px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.cluster-node{ width: 74px; min-height: 74px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311 strong{ max-width: 61px; font-size: .52rem; line-height: 1.12; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311 small{ max-width: 63px; margin-top: .15rem; font-size: .32rem; letter-spacing: .02em; }
.b4-map .stakeholder-map-v311 .map-node-secondary-label{ max-width: 63px; margin-top: .05rem; font-size: .29rem; line-height: 1.05; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311[data-display-name="Comisión Defensa"] strong{ font-size: .4rem; line-height: 1.08; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311[data-display-name="Comisión Digital"] strong, .b4-map .stakeholder-map-v311 .stakeholder-node-v311[data-display-name="Comisión Ambiental"] strong{ font-size: .42rem; line-height: 1.08; }
.b4-map .stakeholder-map-v311 .map-node-identity{ max-width: 54px; max-height: 26px; margin-bottom: .16rem; font-size: .48rem; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-logo{ max-width: 50px; max-height: 25px; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-family b{ font-size: .5rem; }
.b4-map .stakeholder-map-v311 .map-node-identity.identity-family small{ font-size: .27rem; }
.b4-map .stakeholder-map-v311 .node-badge{ top: 3px; right: 4px; width: 15px; height: 15px; }
.b4-map .stakeholder-detail-v311{ top: auto; max-height: 88vh; }
}
@media (max-width: 390px){
.b4-map .stakeholder-map-v311 .map-ring-label{ font-size: 8px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311{ width: 64px; min-height: 64px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.size-large{ width: 74px; min-height: 74px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.size-small{ width: 60px; min-height: 60px; }
.b4-map .stakeholder-map-v311 .stakeholder-node-v311.cluster-node{ width: 70px; min-height: 70px; }
}
.b4-map /* V3.21 human pass: family marks must remain readable and contained on
   cream surfaces, .b4-map especially when the institutional name is long or textual. */
.institution-mark{
  width: 58px;
  min-width: 58px;
  height: 58px;
  max-width: 58px;
  padding: .2rem;
  overflow: hidden;
  box-sizing: border-box;
  line-height: 1.05;
  text-align: center;
  overflow-wrap: anywhere;
}
.b4-map .institution-mark .institution-profile-logo{
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
@media (max-width: 780px){
.b4-map .institution-hero{ display: block; }
.b4-map .institution-mark{ margin-bottom: .85rem; }
.b4-map .institution-hero-copy h1{ max-width: none; font-size: clamp(2.15rem, 10vw, 3rem); line-height: 1.04; }
.b4-map .institution-hero .official-button{ margin-top: 1rem; }
}
.b4-map /* V3.21: the consolidated profile is allowed to use the full mobile column.
   A logo beside a long institutional name creates one-word-per-line titles. */
.institution-v4-mark{
  overflow: hidden;
  box-sizing: border-box;
  padding: .35rem;
}
.b4-map .institution-v4-logo{
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
.b4-map .institution-v4-monogram{
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
  font-size: .9rem;
  line-height: 1.05;
}
@media (max-width: 640px){
.b4-map .institution-v4-identity{ display: block; }
.b4-map .institution-v4-mark{ width: 64px; height: 64px; margin-bottom: .9rem; }
.b4-map .institution-v4-identity > div:last-child{ min-width: 0; }
.b4-map .institution-v4-hero h1{ max-width: none; font-size: clamp(2.15rem, 10vw, 3rem); line-height: 1.04; }
.b4-map .institution-v4-monogram{ font-size: .62rem; }
}
.b4-map /* C16.8: actor evidence is a single, .b4-map source-led interaction. */
.topic-actor-drawer .drawer-label, .b4-map .explorer-drawer .drawer-label, .b4-map .stakeholder-detail-v311 .detail-section-label{ color: var(--gold); }
.b4-map .topic-actor-drawer h3, .b4-map .explorer-drawer h3, .b4-map .stakeholder-detail-v311 h2{ color: var(--navy); font-family: var(--serif); font-weight: 400; }
.b4-map .topic-actor-drawer p:not(.drawer-label), .b4-map .explorer-drawer section > p:not(.drawer-label), .b4-map .stakeholder-detail-v311 .detail-role, .b4-map .stakeholder-detail-v311 .detail-evidence{ color: var(--muted); }
.b4-map .topic-evidence-disclosure, .b4-map .detail-evidence-disclosure{ display: grid; gap: .3rem; }
.b4-map .topic-evidence-disclosure summary, .b4-map .detail-evidence-disclosure summary{ color: var(--gold); font-size: .58rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .topic-evidence-disclosure summary::-webkit-details-marker, .b4-map .detail-evidence-disclosure summary::-webkit-details-marker{ display: none; }
.b4-map .topic-evidence-disclosure > div, .b4-map .detail-evidence-disclosure > div{ display: grid; gap: .25rem; }
.b4-map .topic-evidence-link, .b4-map .detail-actions .detail-link, .b4-map .procedure-basis-link{ color: var(--gold); font-weight: 800; text-decoration: none; }
.b4-map .topic-evidence-link:hover, .b4-map .topic-evidence-link:focus-visible, .b4-map .detail-actions .detail-link:hover, .b4-map .detail-actions .detail-link:focus-visible, .b4-map .procedure-basis-link:hover, .b4-map .procedure-basis-link:focus-visible{ color: var(--navy); text-decoration: underline; }
.b4-map .procedure-basis-link{ align-self: center; padding: .32rem .55rem; border: 1px solid rgba(184,137,59,.4); font-size: .58rem; }
.b4-map /* C12 · Current situation and next watch */
.what-to-watch-section{ width: min(var(--content), calc(100% - 64px)); margin: 0 auto; padding: 2.25rem 0 2.45rem; }
.b4-map .what-to-watch-home{ border-bottom: 1px solid var(--line); }
.b4-map .what-to-watch-section.what-to-watch-area{ padding-top: 0; }
.b4-map .what-to-watch-heading{ display: flex; align-items: end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1rem; }
.b4-map .what-to-watch-heading .eyebrow{ margin-bottom: .5rem; }
.b4-map .what-to-watch-heading h2{ margin-bottom: 0; font-size: clamp(1.55rem, 2.4vw, 2.35rem); }
.b4-map .what-to-watch-heading > p{ max-width: 300px; margin: 0 0 .2rem; color: var(--ink-soft); font-size: .7rem; line-height: 1.45; text-align: right; }
.b4-map .what-to-watch-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .7rem; }
.b4-map .what-to-watch-card{ display: flex; min-width: 0; flex-direction: column; padding: 1rem 1rem .85rem; border: 1px solid var(--line); background: rgba(255,253,249,.7); }
.b4-map .what-to-watch-card h3{ min-height: 2.6em; margin-bottom: .8rem; font-size: 1rem; line-height: 1.3; }
.b4-map .what-to-watch-card .what-to-watch-area{ color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .what-to-watch-card .what-to-watch-area{ min-height: 1.25rem; margin: 0 0 .35rem; }
.b4-map .what-to-watch-now, .b4-map .what-to-watch-next{ display: grid; gap: .2rem; padding: .55rem 0 .6rem .65rem; border-left: 2px solid var(--teal); }
.b4-map .what-to-watch-next{ margin-top: .35rem; border-left-color: var(--gold); }
.b4-map .what-to-watch-now span, .b4-map .what-to-watch-next span{ color: var(--muted); font-size: .53rem; font-weight: 800; letter-spacing: .13em; }
.b4-map .what-to-watch-now strong, .b4-map .what-to-watch-next strong{ color: var(--ink); font-size: .72rem; line-height: 1.35; }
.b4-map .what-to-watch-now p, .b4-map .what-to-watch-next p{ margin: 0; color: var(--ink-soft); font-size: .64rem; line-height: 1.4; }
.b4-map .what-to-watch-now small, .b4-map .what-to-watch-next small{ color: var(--muted); font-size: .58rem; line-height: 1.35; }
.b4-map .what-to-watch-actions{ display: flex; align-items: center; justify-content: space-between; gap: .65rem; margin-top: auto; padding-top: .75rem; }
.b4-map .what-to-watch-source{ overflow: hidden; color: var(--gold); font-size: .59rem; font-weight: 800; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .what-to-watch-cta{ color: var(--gold); font-size: .64rem; font-weight: 800; white-space: nowrap; }
.b4-map .what-to-watch-cta span{ margin-left: .2rem; font-size: .9rem; }
@media (max-width: 1040px){
.b4-map .what-to-watch-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 780px){
.b4-map .what-to-watch-section{ width: min(100% - 32px, var(--content)); padding: 1.65rem 0 1.9rem; }
.b4-map .what-to-watch-heading{ display: block; margin-bottom: .85rem; }
.b4-map .what-to-watch-heading > p{ max-width: none; margin-top: .45rem; text-align: left; }
.b4-map .what-to-watch-grid{ grid-template-columns: 1fr; gap: .6rem; }
.b4-map .what-to-watch-card h3{ min-height: 0; }
}
.b4-map /* C5 map identity closure: the two compact nodes with cached marks must keep
   their visible name and role inside the circle at both target viewports. */
.stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg:subdireccion-grupos-interes"] strong, .b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="cluster:interoperability-eu"] strong{
  display: block;
  max-height: none;
  overflow: visible;
  -webkit-line-clamp: unset;
  flex: 0 0 auto;
  font-size: .56rem;
  line-height: 1.45;
}
.b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg:subdireccion-grupos-interes"] small{
  display: block;
  max-height: none;
  overflow: visible;
  -webkit-line-clamp: unset;
  flex: 0 0 auto;
  font-size: .4rem;
  line-height: 1.35;
}
@media (max-width: 780px){
.b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg:subdireccion-grupos-interes"] strong{ font-size: .38rem; line-height: 1.04; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg:subdireccion-grupos-interes"] small{ font-size: .25rem; line-height: 1.04; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="cluster:interoperability-eu"] strong{ font-size: .4rem; line-height: 1.04; }
}
.b4-map /* Lobby V1.1: use the common Atlas composition. Lobby is special on Home, .b4-map while its area and dossier follow the same editorial rails as every other
   Atlas surface. */
.home-areas{ max-width: 980px; }
.b4-map .home-section-heading, .b4-map .home-highlight-heading{ display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.b4-map .home-section-heading{ margin-bottom: .9rem; }
.b4-map .home-section-heading h2, .b4-map .home-highlight-heading h2{ margin: .2rem 0 0; font-size: clamp(1.35rem, 2.2vw, 1.8rem); }
.b4-map .home-section-heading > span{ color: var(--muted); font-size: .6rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); gap: .55rem; }
.b4-map .home-areas .area-tile{ position: relative; display: flex; min-height: 128px; flex-direction: column; justify-content: space-between; padding: .95rem .85rem .8rem; border: 1px solid rgba(20,44,69,.14); border-radius: 2px 12px 2px 12px; background: rgba(255,255,255,.6); box-shadow: 0 5px 18px rgba(20,44,69,.025); transition: border-color .2s, background .2s, box-shadow .2s, transform .2s; }
.b4-map .home-areas .area-tile::before{ width: 28px; height: 2px; content: ''; background: var(--gold); transition: width .2s; }
.b4-map .home-areas .area-tile:hover{ border-color: rgba(185,134,61,.7); background: rgba(255,255,255,.88); box-shadow: 0 12px 25px rgba(20,44,69,.08); transform: translateY(-3px); }
.b4-map .home-areas .area-tile:hover::before{ width: 44px; }
.b4-map .home-areas .area-tile-index{ color: var(--muted); font-size: .55rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .home-areas .area-tile h2{ margin: .7rem 0 .95rem; color: var(--ink); font-size: .74rem; line-height: 1.35; }
.b4-map .home-areas .area-tile .arrow-link{ font-size: .64rem; font-weight: 800; }
.b4-map .home-highlight{ margin-top: 2rem; padding-top: 1.4rem; border-top: 1px solid rgba(20,44,69,.15); }
.b4-map .home-highlight-heading{ align-items: baseline; justify-content: flex-end; margin-bottom: .85rem; }
.b4-map .home-highlight-heading .eyebrow{ margin: 0; }
.b4-map .home-highlight-card{ display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(260px, .85fr); gap: 2rem; padding: 1.3rem 1.4rem 1.2rem; border: 1px solid rgba(185,134,61,.48); border-left: 3px solid var(--gold); border-radius: 2px 18px 2px 18px; background: rgba(255,253,249,.78); box-shadow: 0 9px 24px rgba(20,44,69,.04); }
.b4-map .home-highlight-card:hover{ border-color: rgba(185,134,61,.8); box-shadow: 0 14px 29px rgba(20,44,69,.08); }
.b4-map .home-highlight-kicker{ display: flex; flex-wrap: wrap; align-items: center; gap: .45rem .7rem; margin-bottom: .7rem; color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .home-highlight-badge{ padding: .28rem .42rem; color: var(--navy); background: var(--gold-soft); }
.b4-map .home-highlight-copy .eyebrow{ margin-bottom: .45rem; }
.b4-map .home-highlight-copy h2{ max-width: 620px; margin-bottom: .4rem; font-size: clamp(1.75rem, 3.2vw, 2.7rem); }
.b4-map .home-highlight-subtitle{ margin-bottom: .7rem; color: var(--gold); font-family: var(--serif); font-size: .9rem; }
.b4-map .home-highlight-description{ max-width: 650px; margin-bottom: 1rem; color: var(--ink-soft); font-size: .72rem; line-height: 1.55; }
.b4-map .home-highlight-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.2rem; }
.b4-map .home-highlight-actions .arrow-link{ font-size: .68rem; }
.b4-map .home-highlight-actions .text-link{ font-size: .68rem; }
.b4-map .home-highlight-facts{ display: grid; align-content: start; gap: .55rem; }
.b4-map .home-highlight-facts > div{ display: grid; grid-template-columns: 105px minmax(0, 1fr); gap: .65rem; padding: .58rem 0; border-top: 1px solid var(--line); }
.b4-map .home-highlight-facts > div:first-child{ border-top: 0; }
.b4-map .home-highlight-facts span{ color: var(--gold); font-size: .54rem; font-weight: 800; letter-spacing: .1em; line-height: 1.3; text-transform: uppercase; }
.b4-map .home-highlight-facts strong{ color: var(--ink); font-size: .65rem; line-height: 1.35; }
.b4-map .home-highlight-facts small{ grid-column: 2; margin-top: -.45rem; color: var(--muted); font-size: .57rem; line-height: 1.3; }
.b4-map .home-highlight-note{ margin-top: .25rem; padding: .65rem .7rem !important; border: 1px solid var(--gold-soft); background: rgba(234,219,193,.3); }
.b4-map .home-highlight-note span{ color: var(--ink-soft); }
.b4-map .home-highlight-note strong{ color: var(--gold); }
.b4-map .lobby-area-page .area-hero{ color: var(--ink); background-color: var(--paper); background-image: radial-gradient(circle at 76% 44%, rgba(184,137,59,.08) 0 1px, transparent 1.5px), repeating-radial-gradient(ellipse at 76% 44%, transparent 0 105px, rgba(184,137,59,.06) 106px 107px, transparent 108px 210px); }
.b4-map .lobby-area-page .area-hero::after{ background: linear-gradient(180deg, rgba(249,248,246,.08), rgba(249,248,246,.24)); }
.b4-map .lobby-area-page .area-hero-inner{ width: min(1280px, calc(100% - 104px)); }
.b4-map .lobby-area-page .lobby-area-copy{ max-width: 280px; }
.b4-map .lobby-area-page .lobby-area-status{ display: grid; gap: .45rem; margin-top: .1rem; padding: .75rem 0 0 .8rem; border-left: 2px solid var(--gold); color: var(--ink-soft); font-size: .62rem; line-height: 1.4; }
.b4-map .lobby-area-page .lobby-status-pill{ color: var(--teal); background: var(--teal-soft); }
.b4-map .lobby-area-visual{ align-self: center; min-width: 0; padding: 1.2rem 1.25rem 1.1rem; border: 1px solid rgba(20,44,69,.14); border-radius: 2px 20px 2px 20px; background: rgba(255,255,255,.42); }
.b4-map .lobby-area-visual-heading{ display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; padding-bottom: .9rem; border-bottom: 1px solid var(--line); }
.b4-map .lobby-area-visual-heading .eyebrow{ margin: 0; }
.b4-map .lobby-area-visual-heading h2{ max-width: 420px; margin: 0; font-size: clamp(1.35rem, 2.5vw, 2.15rem); }
.b4-map .lobby-area-flow{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; margin: 1.1rem 0 .85rem; padding: 0; list-style: none; }
.b4-map .lobby-area-flow li{ display: grid; min-height: 104px; align-content: center; gap: .5rem; padding: .75rem .8rem; border-right: 1px solid var(--line); }
.b4-map .lobby-area-flow li:last-child{ border-right: 0; }
.b4-map .lobby-area-flow span{ color: var(--gold); font-size: .55rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .lobby-area-flow strong{ color: var(--ink); font-family: var(--serif); font-size: .82rem; font-weight: 400; line-height: 1.3; }
.b4-map .lobby-area-mechanisms{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .4rem; }
.b4-map .lobby-area-mechanisms span{ padding: .55rem .5rem; border-top: 2px solid var(--teal); color: var(--ink-soft); background: rgba(225,241,235,.42); font-size: .57rem; font-weight: 800; line-height: 1.3; }
.b4-map .lobby-area-visual-note{ margin: .9rem 0 0; color: var(--muted); font-size: .61rem; line-height: 1.45; }
.b4-map .lobby-area-topics .topic-card-grid{ grid-template-columns: minmax(0, 860px); }
.b4-map .lobby-topic-card{ min-height: 0; border-radius: 2px 16px 2px 16px; }
.b4-map .lobby-topic-card h2{ max-width: 680px; }
.b4-map .lobby-topic-card .card-current p{ margin-bottom: .25rem; }
.b4-map .lobby-topic-card .card-last time{ display: block; margin: .2rem 0; color: var(--muted); font-size: .62rem; }
.b4-map .lobby-area-source-note{ display: flex; flex-wrap: wrap; gap: .85rem 1.2rem; margin-top: .7rem; color: var(--muted); font-size: .62rem; }
.b4-map .lobby-dossier-page .lobby-topic-hero{ width: min(1280px, calc(100% - 104px)); margin: 0 auto; padding-top: 1.35rem; }
.b4-map .lobby-topic-official-title{ max-width: 780px; margin: .8rem 0 1rem; color: var(--muted); font-size: .7rem; line-height: 1.5; }
.b4-map .lobby-topic-official-title span{ display: block; margin-bottom: .2rem; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .lobby-register-banner{ display: grid; gap: .4rem; max-width: 640px; margin-top: 1.1rem; padding: .8rem .9rem; border-left: 3px solid var(--gold); background: rgba(255,253,249,.94); color: var(--ink); }
.b4-map .lobby-register-banner-label{ margin: 0; color: var(--gold); font-size: .62rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .lobby-register-banner p:not(.lobby-register-banner-label){ margin: 0; font-size: .75rem; line-height: 1.45; }
.b4-map .lobby-register-cta{ display: inline-flex; width: fit-content; align-items: center; gap: .35rem; margin-top: .2rem; padding: .55rem .7rem; color: var(--white); background: var(--navy); font-size: .66rem; font-weight: 800; }
.b4-map .lobby-register-cta:hover{ color: var(--white); background: var(--navy-mid); }
.b4-map .lobby-topic-fact-expected{ border-top: 1px dashed var(--gold) !important; }
.b4-map .lobby-dossier-page .lobby-dossier-body{ width: min(1280px, calc(100% - 104px)); padding-top: .6rem; }
.b4-map .lobby-dossier-page .lobby-block{ margin-top: 0; padding: 1.7rem 0 1.9rem; border: 0; border-top: 1px solid var(--line); background: transparent; }
.b4-map .lobby-dossier-page .lobby-block:first-of-type{ border-top: 0; }
.b4-map .lobby-dossier-page .lobby-section-heading{ margin-bottom: 1rem; }
.b4-map .lobby-dossier-page .lobby-section-heading h2{ font-size: clamp(1.5rem, 2.3vw, 2.15rem); }
.b4-map .lobby-dossier-page .lobby-reading-ribbon{ margin-bottom: .2rem; }
@media (max-width: 1040px){
.b4-map .home-areas{ max-width: 820px; }
.b4-map .lobby-area-page .area-hero-inner, .b4-map .lobby-dossier-page .lobby-topic-hero, .b4-map .lobby-dossier-page .lobby-dossier-body{ width: min(100% - 64px, 1280px); }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map .home-highlight-card{ grid-template-columns: minmax(0, 1fr) minmax(240px, .8fr); gap: 1.25rem; }
}
@media (max-width: 780px){
.b4-map .home-areas{ max-width: none; margin-top: 2.5rem; }
.b4-map .home-section-heading, .b4-map .home-highlight-heading{ align-items: flex-start; flex-direction: column; gap: .3rem; }
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .home-areas .area-tile{ min-height: 116px; }
.b4-map .home-highlight{ margin-top: 1.6rem; padding-top: 1.15rem; }
.b4-map .home-highlight-card{ display: block; padding: 1.1rem 1rem 1rem; border-radius: 2px 14px 2px 14px; }
.b4-map .home-highlight-facts{ margin-top: 1.2rem; }
.b4-map .home-highlight-facts > div{ grid-template-columns: 100px minmax(0, 1fr); }
.b4-map .lobby-area-page .area-hero-inner, .b4-map .lobby-dossier-page .lobby-topic-hero, .b4-map .lobby-dossier-page .lobby-dossier-body{ width: calc(100% - 32px); }
.b4-map .lobby-area-page .lobby-area-copy{ max-width: 330px; }
.b4-map .lobby-area-page .lobby-area-status{ max-width: 330px; margin-top: 1rem; }
.b4-map .lobby-area-visual{ margin: 1.2rem 0 0; padding: 1rem; }
.b4-map .lobby-area-visual-heading{ display: block; }
.b4-map .lobby-area-visual-heading h2{ margin-top: .35rem; }
.b4-map .lobby-area-flow{ display: block; margin: .75rem 0; }
.b4-map .lobby-area-flow li{ min-height: 0; padding: .75rem .65rem; border-right: 0; border-bottom: 1px solid var(--line); }
.b4-map .lobby-area-flow li:last-child{ border-bottom: 0; }
.b4-map .lobby-area-mechanisms{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-area-topics .topic-card-grid{ grid-template-columns: 1fr; }
.b4-map .lobby-dossier-page .lobby-topic-hero{ padding-top: 1.1rem; }
.b4-map .lobby-dossier-page .lobby-dossier-body{ padding-top: .2rem; }
.b4-map .lobby-dossier-page .lobby-block{ padding: 1.35rem 0 1.5rem; }
}
@media (max-width: 390px){
.b4-map .home-areas .area-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .home-areas .area-tile{ padding-right: .7rem; padding-left: .7rem; }
.b4-map .home-highlight-facts > div{ grid-template-columns: 90px minmax(0, 1fr); }
.b4-map .lobby-area-mechanisms{ grid-template-columns: 1fr; }
}
.b4-map /* Lobby V1.2: the area owns the hierarchy; the dossier is secondary. */
.home-highlight-card{ grid-template-columns: minmax(0, 1.7fr) minmax(260px, 1fr); gap: 1.6rem; align-items: stretch; padding: 1.45rem 1.5rem 1.35rem; }
.b4-map .home-highlight-area{ display: flex; min-width: 0; flex-direction: column; justify-content: center; padding-right: 1rem; }
.b4-map .home-highlight-area h3{ margin: .3rem 0 .35rem; color: var(--ink); font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 400; line-height: 1; }
.b4-map .home-highlight-area .home-highlight-subtitle{ margin-bottom: .8rem; font-size: 1rem; }
.b4-map .home-highlight-area .home-highlight-description{ max-width: 590px; margin-bottom: 1.25rem; font-size: .78rem; }
.b4-map .home-highlight-primary, .b4-map .home-highlight-secondary{ display: inline-flex; width: fit-content; align-items: center; gap: .35rem; font-size: .7rem; font-weight: 800; }
.b4-map .home-highlight-primary{ padding: .7rem .85rem; color: var(--white); background: var(--navy); }
.b4-map .home-highlight-primary:hover{ color: var(--white); background: var(--navy-mid); }
.b4-map .home-highlight-dossier{ display: flex; min-width: 0; flex-direction: column; justify-content: center; padding: 1rem 0 1rem 1.35rem; border-left: 1px solid var(--line); }
.b4-map .home-highlight-dossier-label{ margin-bottom: .55rem; color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.b4-map .home-highlight-dossier h3{ margin-bottom: .4rem; color: var(--ink); font-size: 1.15rem; line-height: 1.25; }
.b4-map .home-highlight-dossier-title{ margin-bottom: .75rem; color: var(--ink-soft); font-family: var(--serif); font-size: .78rem; line-height: 1.45; }
.b4-map .home-highlight-status{ display: inline-flex; width: fit-content; margin-bottom: .9rem; padding: .28rem .42rem; color: var(--teal); background: var(--teal-soft); font-size: .57rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .home-highlight-next{ display: grid; gap: .18rem; padding: .7rem 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.b4-map .home-highlight-next span{ color: var(--gold); font-size: .55rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .home-highlight-next strong{ color: var(--ink); font-size: .7rem; line-height: 1.35; }
.b4-map .home-highlight-next small{ color: var(--muted); font-size: .6rem; }
.b4-map .home-highlight-secondary{ margin-top: .9rem; color: var(--ink); }
.b4-map .home-highlight-secondary:hover{ color: var(--gold); }
.b4-map .lobby-v12-dossier .lobby-v12-hero{ width: min(1280px, calc(100% - 104px)); margin: 0 auto; }
.b4-map .lobby-v12-dossier .lobby-v12-body{ width: min(1280px, calc(100% - 104px)); padding-top: .25rem; }
.b4-map .lobby-v12-block{ margin-top: 0; padding: 1.55rem 0 1.8rem; border-top: 1px solid var(--line); }
.b4-map .lobby-v12-block:first-child{ border-top: 0; }
.b4-map .lobby-v12-block .lobby-section-heading{ margin-bottom: 1rem; }
.b4-map .lobby-v12-change-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.b4-map .lobby-v12-change{ display: flex; min-width: 0; flex-direction: column; padding: .9rem; border: 1px solid var(--line); background: var(--white); }
.b4-map .lobby-v12-change h3{ margin-bottom: .35rem; font-size: .95rem; }
.b4-map .lobby-v12-change p{ margin-bottom: .25rem; color: var(--ink-soft); font-size: .68rem; line-height: 1.5; }
.b4-map .lobby-v12-change .lobby-evidence-row{ margin-top: auto; padding-top: .65rem; }
.b4-map .lobby-v12-details{ display: grid; gap: .55rem; }
.b4-map .lobby-v12-details details{ border-top: 1px solid var(--line); background: rgba(255,255,255,.45); }
.b4-map .lobby-v12-details details:last-child{ border-bottom: 1px solid var(--line); }
.b4-map .lobby-v12-details summary{ display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem .1rem; color: var(--ink); font-size: .78rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .lobby-v12-details summary::-webkit-details-marker{ display: none; }
.b4-map .lobby-v12-details summary::after{ color: var(--gold); content: '+'; font-size: 1rem; font-weight: 400; }
.b4-map .lobby-v12-details details[open] summary::after{ content: '−'; }
.b4-map .lobby-v12-details details > :not(summary){ padding: 0 .1rem 1rem; }
.b4-map .lobby-v12-source-list{ gap: .4rem; }
.b4-map .lobby-v12-source-list .lobby-source-row{ padding: .65rem .75rem; }
.b4-map /* V1.3: keep the legal lifecycle and implementation clocks compact while
   making the two tracks legible at a glance. */
.lobby-stage-deadline{ display: inline-block; margin: .05rem 0 .22rem; color: var(--gold); font-size: .56rem; letter-spacing: .1em; }
.b4-map .lobby-stage-deadline-context{ min-height: 0 !important; margin-bottom: .5rem !important; color: var(--ink-soft) !important; font-size: .66rem !important; }
.b4-map .lobby-conditional{ display: block; }
.b4-map .lobby-conditional-label{ margin: 0 0 .6rem; color: #727977; font-size: .55rem; font-weight: 800; letter-spacing: .1em; }
.b4-map .lobby-conditional-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .55rem; }
.b4-map .lobby-conditional-grid article{ display: grid; align-content: start; gap: .28rem; padding: .65rem .7rem; border-top: 1px solid rgba(20,44,69,.14); }
.b4-map .lobby-conditional-grid article span{ color: #727977; font-size: .5rem; font-weight: 800; letter-spacing: .08em; }
.b4-map .lobby-conditional-grid article strong{ font-size: .7rem; line-height: 1.3; }
.b4-map .lobby-conditional-grid article p{ margin: 0; color: var(--ink-soft); font-size: .62rem; line-height: 1.4; }
.b4-map .lobby-clock-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.b4-map .lobby-clock-card{ display: flex; min-width: 0; flex-direction: column; padding: .8rem; border: 1px solid var(--line); background: rgba(255,255,255,.62); }
.b4-map .lobby-clock-card .lobby-card-topline{ display: flex; min-height: 2.1em; align-items: flex-start; justify-content: space-between; gap: .45rem; }
.b4-map .lobby-clock-card .lobby-card-topline > span{ color: var(--muted); font-size: .5rem; font-weight: 800; line-height: 1.3; text-transform: uppercase; }
.b4-map .lobby-clock-card .lobby-article-tag{ display: none; }
.b4-map .lobby-clock-card h3{ margin: .55rem 0 .35rem; font-size: .78rem; line-height: 1.3; }
.b4-map .lobby-clock-card > strong{ color: var(--gold); font-size: .62rem; letter-spacing: .08em; line-height: 1.3; }
.b4-map .lobby-clock-card p{ flex: 1; margin: .42rem 0 .55rem; color: var(--ink-soft); font-size: .62rem; line-height: 1.45; }
.b4-map .lobby-clock-card .lobby-source-link{ font-size: .56rem; }
.b4-map .lobby-system-heading{ margin: 1.35rem 0 .65rem; padding-top: 1rem; border-top: 1px solid var(--line); }
.b4-map .lobby-system-heading .eyebrow{ margin-bottom: .25rem; }
.b4-map .lobby-system-heading h3{ margin-bottom: .25rem; font-size: 1rem; }
.b4-map .lobby-system-heading p:last-child{ margin: 0; color: var(--muted); font-size: .62rem; }
.b4-map .lobby-system-grid{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; }
.b4-map .lobby-system-card{ padding: .8rem; border: 1px dashed rgba(184,137,59,.55); background: rgba(234,219,193,.18); }
.b4-map .lobby-system-card > span{ color: var(--gold); font-size: .51rem; font-weight: 800; letter-spacing: .1em; }
.b4-map .lobby-system-card h3{ margin: .38rem 0 .25rem; font-size: .82rem; }
.b4-map .lobby-system-card > strong{ color: var(--ink-soft); font-size: .56rem; letter-spacing: .1em; }
.b4-map .lobby-system-card p{ margin: .45rem 0 .55rem; color: var(--ink-soft); font-size: .63rem; line-height: 1.45; }
.b4-map .lobby-system-card .lobby-evidence-row{ max-width: 100%; }
.b4-map /* V1.3 compact pass: the implementation track must add signal without
   turning the dossier into a second long-form document. */
.lobby-v14-dossier .lobby-roadmap-stage h3{ min-height: 2.2em; margin-bottom: .25rem; }
.b4-map .lobby-v14-dossier .lobby-roadmap-stage p{ min-height: 2.25em; margin-bottom: .35rem; }
.b4-map /* Lobby V1.4: the area is the visual owner on Home; the legal identity stays
   readable wherever the dossier is introduced. */
.home-highlight-area-title{ margin: .3rem 0 .35rem; color: var(--ink); font-family: var(--serif); font-size: clamp(2.2rem, 4vw, 3.8rem); font-weight: 400; line-height: 1; }
.b4-map .home-highlight-dossier-title{ max-width: 42rem; font-size: clamp(.82rem, 1.05vw, .98rem); line-height: 1.38; }
.b4-map .lobby-agenda-official-title{ max-width: 760px; margin: -.15rem 0 .8rem; color: var(--ink-soft); font-family: var(--serif); font-size: .78rem; line-height: 1.4; }
.b4-map .lobby-agenda-official-title span{ display: block; margin-bottom: .2rem; color: var(--gold); font-family: var(--sans); font-size: .52rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .lobby-topic-official-title{ max-width: 900px; margin: .8rem 0 1rem; color: var(--ink-soft); font-size: clamp(.9rem, 1.25vw, 1.05rem); line-height: 1.38; }
.b4-map .lobby-topic-official-title strong{ display: block; font-weight: 500; }
.b4-map .lobby-topic-official-id{ display: block; margin-top: .45rem; color: var(--gold); font-family: var(--sans); font-size: .62rem; font-weight: 800; letter-spacing: .08em; }
.b4-map /* Same Atlas radial renderer, .b4-map with only semantic weight and identity cues
   needed to read the Lobby contract in one glance. */
.stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject{ border: 1px dashed rgba(129,91,143,.7); background: rgba(250,246,252,.96); }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject{ width: 112px; min-height: 112px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg"]{ width: 118px; min-height: 118px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-interoperability{ width: 86px; min-height: 86px; border-style: dotted; border-color: rgba(88,126,145,.48); opacity: .8; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-functional-cluster{ width: 92px; min-height: 92px; border-width: 1px; opacity: .86; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-subordinate{ border-style: dashed; border-color: rgba(42,171,148,.72); }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311 small{ display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject small, .b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg"] small{ max-width: 108px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject small{ color: #765786; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-interoperability small{ color: #5d7888; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject strong{ color: #5e416d; }
@media (max-width: 780px){
.b4-map .home-highlight-area-title{ font-size: clamp(2.2rem, 13vw, 3.2rem); }
.b4-map .home-highlight-dossier-title{ font-size: .84rem; }
.b4-map .lobby-agenda-official-title{ font-size: .74rem; }
.b4-map .lobby-topic-official-title{ max-width: none; font-size: .88rem; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject{ width: 68px; min-height: 68px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg"]{ width: 68px; min-height: 68px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-interoperability{ width: 58px; min-height: 58px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-functional-cluster{ width: 64px; min-height: 64px; }
.b4-map .stakeholder-map-v314 .stakeholder-node-v311.map-node-regulated-subject small, .b4-map .stakeholder-map-v314 .stakeholder-node-v311[data-institution-id="ctbg"] small{ max-width: 62px; font-size: .27rem; letter-spacing: 0; }
}
.b4-map .lobby-v13-dossier .lobby-stage-deadline-context{ margin-bottom: .3rem !important; font-size: .6rem !important; line-height: 1.3; }
.b4-map .lobby-v13-dossier .lobby-conditional{ margin-top: .85rem; padding: .65rem .75rem; }
.b4-map .lobby-v13-dossier .lobby-conditional-label{ margin-bottom: .4rem; }
.b4-map .lobby-v13-dossier .lobby-conditional-grid article{ padding: .5rem .6rem; }
.b4-map .lobby-v13-dossier .lobby-clock-grid{ gap: .45rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card{ padding: .6rem .65rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-card-topline{ min-height: 1.45em; }
.b4-map .lobby-v13-dossier .lobby-clock-card h3{ margin: .35rem 0 .25rem; font-size: .72rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card > strong{ font-size: .58rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card p{ margin: .3rem 0 .35rem; font-size: .58rem; line-height: 1.3; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-source-link{ font-size: .52rem; }
.b4-map .lobby-v13-dossier .lobby-system-heading{ margin: 1rem 0 .5rem; padding-top: .75rem; }
.b4-map .lobby-v13-dossier .lobby-system-card{ padding: .6rem; }
.b4-map .lobby-v13-dossier .lobby-system-card h3{ margin: .3rem 0 .2rem; font-size: .75rem; }
.b4-map .lobby-v13-dossier .lobby-system-card > strong{ font-size: .52rem; }
.b4-map .lobby-v13-dossier .lobby-system-card p{ margin: .3rem 0 .35rem; font-size: .57rem; line-height: 1.3; }
.b4-map .lobby-v13-dossier .lobby-actors-block .lobby-table th, .b4-map .lobby-v13-dossier .lobby-actors-block .lobby-table td{ padding: .57rem .6rem; font-size: .6rem; }
.b4-map .lobby-v13-dossier .lobby-clocks-block{ padding-top: 1.3rem; padding-bottom: 1rem; }
.b4-map /* Lobby V2: the ordinary project owns the first plane; the RDL remains an
   explicit, .b4-map related instrument with its own epistemic state. */
.lobby-agenda-surface{ display: grid; gap: 1rem; }
.b4-map .lobby-agenda-intro{ max-width: 780px; padding-bottom: .7rem; border-bottom: 1px solid var(--line); }
.b4-map .lobby-agenda-intro h2{ margin: .35rem 0 .5rem; font-size: clamp(1.45rem, 2.5vw, 2.2rem); }
.b4-map .lobby-agenda-intro p:last-child{ max-width: 680px; margin: 0; color: var(--ink-soft); font-size: .74rem; line-height: 1.5; }
.b4-map .lobby-agenda-primary, .b4-map .lobby-agenda-secondary{ display: grid; gap: .55rem; }
.b4-map .lobby-agenda-primary .section-label, .b4-map .lobby-agenda-secondary .section-label{ margin: 0; }
.b4-map .lobby-agenda-primary .topic-card{ max-width: 900px; }
.b4-map .lobby-agenda-related{ display: grid; max-width: 900px; gap: .35rem; padding: .95rem 1rem; border: 1px dashed rgba(185,134,61,.72); background: rgba(234,219,193,.2); }
.b4-map .lobby-agenda-related h3{ margin: 0; font-size: .95rem; line-height: 1.3; }
.b4-map .lobby-agenda-related p{ max-width: 760px; margin: 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.b4-map .lobby-agenda-related a{ width: fit-content; color: var(--navy); font-size: .62rem; font-weight: 800; }
.b4-map .lobby-agenda-related a:hover{ color: var(--gold); }
.b4-map .lobby-project-dossier .lobby-related-card{ max-width: 900px; }
.b4-map .lobby-project-dossier .topic-now-line{ flex-wrap: wrap; }
.b4-map .lobby-project-dossier .lobby-source-list{ display: grid; }
.b4-map .lobby-project-dossier .lobby-topic-official-title{ max-width: 900px; }
@media (min-width: 1200px){
.b4-map .lobby-v13-dossier .lobby-clock-grid{ grid-template-columns: repeat(5, minmax(0, 1fr)); }
.b4-map .lobby-v13-dossier .lobby-clock-card{ display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .18rem .5rem; padding: .5rem .55rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-card-topline, .b4-map .lobby-v13-dossier .lobby-clock-card p, .b4-map .lobby-v13-dossier .lobby-clock-card > div:last-child{ grid-column: 1 / -1; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-card-topline{ min-height: 0; }
.b4-map .lobby-v13-dossier .lobby-clock-card h3{ grid-column: 1; margin: .08rem 0; font-size: .68rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card > strong{ grid-column: 2; grid-row: 2; max-width: 7rem; align-self: start; font-size: .54rem; text-align: right; }
.b4-map .lobby-v13-dossier .lobby-clock-card p{ margin: .12rem 0 .18rem; font-size: .54rem; line-height: 1.25; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-source-link{ font-size: .49rem; }
.b4-map .lobby-v13-dossier .lobby-system-card{ padding: .5rem .55rem; }
.b4-map .lobby-v13-dossier .lobby-system-card p{ font-size: .54rem; line-height: 1.25; }
}
@media (max-width: 780px){
.b4-map .lobby-agenda-related{ padding: .8rem; }
}
@media (max-width: 1040px){
.b4-map .lobby-v12-dossier .lobby-v12-hero, .b4-map .lobby-v12-dossier .lobby-v12-body{ width: min(100% - 64px, 1280px); }
}
@media (max-width: 780px){
.b4-map .home-highlight-card{ display: block; padding: 1.15rem 1rem 1rem; }
.b4-map .home-highlight-area{ padding-right: 0; }
.b4-map .home-highlight-dossier{ margin-top: 1.25rem; padding: 1rem 0 0; border-top: 1px solid var(--line); border-left: 0; }
.b4-map .lobby-v12-dossier .lobby-v12-hero, .b4-map .lobby-v12-dossier .lobby-v12-body{ width: calc(100% - 32px); }
.b4-map .lobby-v12-block{ padding: 1.3rem 0 1.45rem; }
.b4-map .lobby-v12-change-grid{ grid-template-columns: 1fr; }
.b4-map .lobby-conditional-grid, .b4-map .lobby-clock-grid, .b4-map .lobby-system-grid{ grid-template-columns: 1fr; }
.b4-map .lobby-v13-dossier .lobby-clock-card{ display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .25rem .65rem; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-card-topline, .b4-map .lobby-v13-dossier .lobby-clock-card p, .b4-map .lobby-v13-dossier .lobby-clock-card > div:last-child{ grid-column: 1 / -1; }
.b4-map .lobby-v13-dossier .lobby-clock-card .lobby-card-topline{ min-height: 0; }
.b4-map .lobby-v13-dossier .lobby-clock-card h3{ grid-column: 1; margin: .08rem 0; }
.b4-map .lobby-v13-dossier .lobby-clock-card > strong{ grid-column: 2; grid-row: 2; max-width: 9rem; align-self: start; text-align: right; }
.b4-map .lobby-v13-dossier .lobby-clock-card p{ margin: .12rem 0 .2rem; }
.b4-map .lobby-v13-dossier .lobby-system-card{ padding: .6rem; }
.b4-map .lobby-v12-dossier .lobby-roadmap{ display: block; padding-left: 1rem; }
.b4-map .lobby-v12-dossier .lobby-roadmap::before{ top: 1rem; bottom: 1.1rem; left: .47rem; width: 1px; height: auto; background: linear-gradient(180deg, var(--gold) 0 74%, #9b9e9a 74% 100%); }
.b4-map .lobby-v12-dossier .lobby-roadmap-stage{ grid-template-columns: 1.1rem 1fr; grid-template-rows: auto; gap: .65rem; margin-bottom: .8rem; padding: 0; }
.b4-map .lobby-v12-dossier .lobby-roadmap-stage h3, .b4-map .lobby-v12-dossier .lobby-roadmap-stage p{ min-height: 0; }
.b4-map .lobby-v12-dossier .lobby-roadmap-marker{ margin-top: .2rem; }
.b4-map .lobby-v12-dossier .lobby-roadmap-stage > div:last-child{ padding-bottom: .4rem; }
}
.b4-map /* V4.1B: compact, .b4-map evidence-first activity pages. */
.institution-v41-summary-grid{ display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .65rem; }
.b4-map .institution-v41-summary-grid > div{ display: grid; gap: .2rem; padding: .85rem; border: 1px solid rgba(20,44,69,.13); background: rgba(255,255,255,.48); }
.b4-map .institution-v41-summary-grid strong{ color: var(--navy, #0c2740); font-family: Georgia, 'Times New Roman', serif; font-size: 1.8rem; font-weight: 400; }
.b4-map .institution-v41-summary-grid span{ color: var(--muted, #657287); font-size: .62rem; line-height: 1.35; text-transform: uppercase; }
.b4-map .institution-v41-disclaimer{ max-width: 820px; margin: .9rem 0 0; color: var(--muted, #657287); font-size: .7rem; line-height: 1.5; }
.b4-map .institution-v41-role-list{ display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; }
.b4-map .institution-v41-role-list li{ display: flex; align-items: baseline; justify-content: space-between; gap: .8rem; padding: .75rem .85rem; border: 1px solid rgba(20,141,120,.2); background: rgba(225,241,235,.28); }
.b4-map .institution-v41-role-list strong{ color: var(--navy, #0c2740); font-size: .76rem; }
.b4-map .institution-v41-role-list span{ color: var(--teal, #148d78); font-size: .62rem; text-align: right; }
.b4-map .institution-v41-role-chips{ display: flex; flex-wrap: wrap; gap: .3rem; }
.b4-map .institution-v41-role-chips span{ padding: .28rem .45rem; border: 1px solid rgba(20,141,120,.22); border-radius: 99px; color: var(--teal, #148d78); font-size: .58rem; font-weight: 800; line-height: 1.25; }
.b4-map .institution-v41-card-explanation{ margin: .75rem 0 0; color: var(--muted, #657287); font-size: .68rem; line-height: 1.45; }
.b4-map .institution-v41-trace{ margin-top: .75rem; border-top: 1px solid rgba(20,44,69,.1); }
.b4-map .institution-v41-trace summary{ padding: .65rem 0 0; color: var(--gold, #9e6f2a); font-size: .62rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .institution-v41-trace summary::-webkit-details-marker{ display: none; }
.b4-map .institution-v41-trace summary::after{ content: '＋'; float: right; }
.b4-map .institution-v41-trace[open] summary::after{ content: '−'; }
.b4-map .institution-v41-trace > div{ padding-top: .55rem; color: var(--muted, #657287); font-size: .63rem; line-height: 1.45; }
.b4-map .institution-v41-trace p{ margin: .35rem 0; }
.b4-map .institution-v41-trace b{ color: var(--navy, #0c2740); }
.b4-map .institution-v41-source-links{ display: flex; flex-wrap: wrap; gap: .5rem; }
.b4-map .institution-v41-source-links a{ color: var(--gold, #9e6f2a); font-weight: 800; text-decoration: none; }
.b4-map .institution-v41-trace-count{ color: var(--muted, #657287); font-size: .58rem; }
@media (max-width: 640px){
.b4-map .institution-v41-summary-grid, .b4-map .institution-v41-role-list{ grid-template-columns: 1fr 1fr; }
.b4-map .institution-v41-role-list li{ display: grid; gap: .25rem; }
.b4-map .institution-v41-role-list span{ text-align: left; }
}
@media (max-width: 780px){
.b4-map .topic-inline-roster{ grid-template-columns: 1fr; }
.b4-map .topic-inline-roster .topic-inline-row{ grid-template-columns: auto minmax(0, 1fr) auto; min-width: 0; }
.b4-map .topic-inline-actor-count{ max-width: 112px; }
.b4-map .topic-actor-phase-map{ padding: .7rem .48rem .55rem; }
.b4-map .topic-actor-phase-map::before{ top: 2.55rem; bottom: .55rem; left: .85rem; }
.b4-map .topic-actor-phase-map-intro{ gap: .55rem; margin-left: 1.15rem; font-size: .48rem; }
.b4-map .topic-phase-map-row{ grid-template-columns: 1fr; gap: .28rem; min-height: 0; padding: .48rem 0 .58rem 1.15rem; }
.b4-map .topic-phase-map-lane.left, .b4-map .topic-phase-map-lane.right{ justify-content: flex-start; }
.b4-map .topic-phase-map-lane{ gap: .28rem; }
.b4-map .topic-phase-map-actor{ flex: 1 1 145px; padding: .36rem .4rem; }
.b4-map .topic-phase-map-actor strong{ max-width: none; font-size: .59rem; }
.b4-map .topic-phase-map-actor small{ font-size: .48rem; }
.b4-map .topic-phase-map-edge{ display: none; }
.b4-map .topic-phase-map-phase{ order: -1; min-height: 59px; padding: .5rem .56rem; }
.b4-map .topic-phase-map-phase strong{ font-size: .88rem; }
}
.b4-map /* C4.1: official marks sit directly in the actor circle; this wrapper is
   layout-only and must not read as a card, .b4-map plate, .b4-map or second circle. */
.stakeholder-node-v311 .map-node-identity{ display: flex; width: auto; height: auto; min-width: 0; max-width: 78px; max-height: 38px; align-items: center; justify-content: center; margin: 0 auto .28rem; overflow: hidden; border: 0; border-radius: 0; color: var(--navy); background: transparent; box-shadow: none; }
.b4-map .stakeholder-node-v311 .map-node-identity.identity-family{ border-radius: 0; }
.b4-map .stakeholder-node-v311 .map-node-identity.identity-logo{ display: block; width: auto; height: auto; max-width: 72px; max-height: 36px; object-fit: contain; object-position: center; padding: 0; border: 0; background: transparent; box-shadow: none; }
.b4-map .stakeholder-node-v311 img[src*="emad.png"], .b4-map .topic-actor-mark img[src*="emad.png"]{ background: transparent; padding: 0; }
@media (max-width: 780px){
.b4-map .stakeholder-node-v311 .map-node-identity{ max-width: 54px; max-height: 26px; margin-bottom: .16rem; }
.b4-map .stakeholder-node-v311 .map-node-identity.identity-logo{ max-width: 50px; max-height: 25px; }
}
.b4-map /* V3.14: one Area agenda-card grammar. Data can differ by dossier, .b4-map but the
   public reading order and visual rhythm stay stable across all five areas. */
.area-topics .topic-card-grid{ align-items: start; }
.b4-map .area-topics .topic-card{
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 1.25rem 1.25rem 1.1rem;
}
.b4-map .area-topics .topic-card.is-primary{ border-top: 2px solid rgba(185,134,61,.78); }
.b4-map .area-topics .topic-card .card-status{ min-height: 0; margin: 0 0 .72rem; color: var(--ink-soft); font-size: .61rem; letter-spacing: .07em; line-height: 1.35; text-transform: uppercase; }
.b4-map .area-topics .topic-card .card-status::before{ width: 6px; height: 6px; margin-right: .42rem; }
.b4-map .area-topics .topic-card h2{ min-height: 0; margin: 0 0 .2rem; font-size: 1.52rem; line-height: 1.1; }
.b4-map .card-row{ display: grid; min-width: 0; align-content: start; gap: .22rem; padding-top: .72rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .7rem; line-height: 1.42; }
.b4-map .card-row-label, .b4-map .card-sub-label{ color: var(--gold); font-size: .53rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .card-row p{ margin: 0; color: var(--ink); font-size: .72rem; line-height: 1.45; }
.b4-map .card-row strong{ display: block; min-width: 0; color: var(--ink); font-size: .68rem; font-weight: 700; line-height: 1.35; }
.b4-map .card-row time, .b4-map .card-row small{ display: block; color: var(--muted); font-size: .59rem; line-height: 1.4; }
.b4-map .card-current{ min-height: 0; }
.b4-map .card-current-actor{ display: grid; gap: .22rem; margin-top: .14rem; }
.b4-map .card-current-actor .card-sub-label{ color: var(--muted); font-size: .48rem; letter-spacing: .1em; }
.b4-map .card-actor{ display: flex; min-width: 0; align-items: center; gap: .45rem; }
.b4-map .card-actor > i{ display: grid; width: 25px; height: 25px; min-width: 25px; place-items: center; margin: 0; font-style: normal; }
.b4-map .card-actor-mark{ display: grid; width: 25px; height: 25px; min-width: 25px; place-items: center; overflow: hidden; border: 1px solid rgba(185,134,61,.38); border-radius: 50%; color: var(--navy); background: rgba(247,244,238,.94); font-size: .42rem; font-weight: 800; line-height: 1.05; text-align: center; }
.b4-map .card-actor-mark.identity-logo{ object-fit: contain; padding: .18rem; }
.b4-map .card-actor > span{ display: grid; min-width: 0; gap: .08rem; }
.b4-map .card-actor strong{ overflow: hidden; font-size: .64rem; text-overflow: ellipsis; white-space: nowrap; }
.b4-map .card-actor small{ color: var(--teal); font-size: .54rem; font-weight: 800; }
.b4-map .card-window{ min-height: 0; border-top-color: rgba(185,134,61,.68); background: rgba(185,134,61,.055); }
.b4-map .card-window .card-row-label{ color: var(--gold); }
.b4-map .card-window strong{ color: var(--ink); }
.b4-map .card-watch{ min-height: 0; border-top-style: dashed; }
.b4-map .card-watch .card-row-label{ color: var(--gold); }
.b4-map .card-actor-row{ min-height: 0; }
.b4-map .card-actor-row .card-current-actor{ margin-top: 0; }
.b4-map .card-last{ min-height: 0; }
.b4-map .card-next{ min-height: 0; border-top-style: dashed; }
.b4-map .card-next .card-row-label{ color: var(--ink-soft); }
.b4-map .area-topics .topic-card > .arrow-link{ align-self: end; margin-top: .85rem; font-size: .7rem; }
.b4-map .map-expansion-toggle .disclosure-icon{ transition: transform .2s ease; }
.b4-map .map-expansion-toggle .disclosure-icon.is-open{ transform: rotate(90deg); }
@media (max-width: 780px){
.b4-map .area-topics .topic-card{ display: flex; flex-direction: column; min-height: 0; padding: 1.1rem 1rem 1rem; }
.b4-map .area-topics .topic-card h2{ min-height: 0; font-size: 1.42rem; }
.b4-map .card-current, .b4-map .card-window, .b4-map .card-watch, .b4-map .card-actor-row, .b4-map .card-last, .b4-map .card-next{ min-height: 0; }
.b4-map .card-row-placeholder{ display: none; }
.b4-map .area-topics .topic-card > .arrow-link{ margin-top: auto; }
}
.b4-map /* The disclosure is a single sentence plus an affordance in V3.14.  Keep
   the control compact at desktop and mobile instead of reserving a legacy
   count column. */
.stakeholder-map-v311 .map-secondary-disclosure .map-expansion-toggle{ grid-template-columns: 1fr auto; }
.b4-map .stakeholder-map-v311 .map-secondary-disclosure .map-expansion-toggle span:nth-child(2){ color: var(--ink-soft); font-size: .57rem; }
.b4-map .stakeholder-map-v311 .map-secondary-disclosure .map-expansion-toggle .disclosure-icon{ color: var(--gold); font-size: .9rem; }
.b4-map /* V3.16: institution profiles are longitudinal policy nodes.  The surface
   stays typographic and evidence-led; no institutional hero image is reused. */
.institution-v4-page{
  min-height: 70vh;
  background: var(--cream, #fbfaf7);
  color: var(--ink, #142c45);
}
.b4-map .institution-v4-hero{
  display: flex;
  width: min(1280px, calc(100% - 104px));
  align-items: flex-end;
  justify-content: space-between;
  gap: 3rem;
  margin: 0 auto;
  padding: 3.8rem 0 3rem;
  border-bottom: 1px solid var(--line, rgba(20,44,69,.14));
}
.b4-map .institution-v4-identity{ display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: start; gap: 1.65rem; max-width: 830px; }
.b4-map .institution-v4-mark{ display: grid; width: 104px; height: 104px; place-items: center; border: 1px solid rgba(185,134,61,.32); border-radius: 50%; background: rgba(255,255,255,.66); box-shadow: 0 10px 24px rgba(20,44,69,.07); }
.b4-map .institution-v4-logo{ width: 72px; height: 72px; object-fit: contain; }
.b4-map .institution-v4-monogram{ color: var(--navy, #0c2740); font-family: Georgia, serif; font-size: 1.7rem; letter-spacing: .05em; }
.b4-map .institution-v4-hero h1{ max-width: 760px; margin: .2rem 0 .45rem; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(2.45rem, 5vw, 4.75rem); font-weight: 400; letter-spacing: -.04em; line-height: .98; }
.b4-map .institution-v4-acronym{ margin: 0; color: var(--gold, #b9863d); font-size: .7rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.b4-map .institution-v4-description{ max-width: 650px; margin: .8rem 0 0; color: var(--ink-soft, #294463); font-size: 1.04rem; line-height: 1.55; }
.b4-map .institution-v4-facts, .b4-map .institution-v4-role-chips{ display: flex; flex-wrap: wrap; gap: .45rem .65rem; margin-top: 1rem; }
.b4-map .institution-v4-facts span{ color: var(--muted, #657287); font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; }
.b4-map .institution-v4-facts span + span::before{ content: '·'; margin-right: .65rem; color: var(--gold, #b9863d); }
.b4-map .institution-v4-role-chips span{ padding: .33rem .55rem; border: 1px solid rgba(20,141,120,.24); border-radius: 99px; color: var(--teal, #148d78); background: rgba(225,241,235,.44); font-size: .66rem; font-weight: 800; }
.b4-map .institution-v4-parent{ margin: 1.1rem 0 0; color: var(--muted, #657287); font-size: .76rem; }
.b4-map .institution-v4-parent a{ color: var(--navy, #0c2740); text-decoration: underline; text-decoration-color: rgba(185,134,61,.5); text-underline-offset: .18em; }
.b4-map .institution-v4-hero-actions{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.b4-map .institution-v4-link{ display: inline-flex; align-items: center; min-height: 42px; padding: .65rem .9rem; border: 1px solid rgba(185,134,61,.45); color: var(--navy, #0c2740); background: rgba(255,255,255,.54); font-size: .72rem; font-weight: 800; text-decoration: none; }
.b4-map .institution-v4-main{ width: min(1280px, calc(100% - 104px)); margin: 0 auto; padding: 2.7rem 0 5rem; }
.b4-map .institution-v4-section{ padding: 2.25rem 0; border-bottom: 1px solid var(--line, rgba(20,44,69,.14)); }
.b4-map .institution-v4-section-heading{ display: flex; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.b4-map .institution-v4-section-heading h2{ margin: .25rem 0 0; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(1.7rem, 3vw, 2.35rem); font-weight: 400; letter-spacing: -.025em; }
.b4-map .institution-v4-section-heading > span{ color: var(--gold, #b9863d); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .institution-v4-section-intro{ max-width: 650px; margin: -.45rem 0 1.15rem; color: var(--muted, #657287); font-size: .82rem; line-height: 1.55; }
.b4-map .institution-v4-capacity-grid{ display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: 1.6rem; padding: 1.25rem 1.4rem; border: 1px solid rgba(185,134,61,.22); background: rgba(255,255,255,.48); }
.b4-map .institution-v4-capacity-label{ margin: 0 0 .45rem; color: var(--gold, #b9863d); font-size: .68rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.b4-map .institution-v4-capacity-grid p:not(.institution-v4-capacity-label){ max-width: 540px; margin: 0; color: var(--ink-soft, #294463); font-size: .94rem; line-height: 1.55; }
.b4-map .institution-v4-capacity-grid ul{ display: grid; gap: .5rem; margin: 0; padding: 0; list-style: none; }
.b4-map .institution-v4-capacity-grid li{ padding-left: 1.25rem; color: var(--ink-soft, #294463); font-size: .79rem; line-height: 1.45; }
.b4-map .institution-v4-capacity-grid li::before{ content: '✓'; display: inline-block; width: 1rem; margin-left: -1.25rem; color: var(--teal, #148d78); font-weight: 900; }
.b4-map .institution-v4-dossier-grid{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.b4-map .institution-v4-dossier-card{ display: flex; min-width: 0; flex-direction: column; min-height: 285px; padding: 1.25rem 1.25rem 1.05rem; border: 1px solid rgba(20,44,69,.14); background: rgba(255,255,255,.64); box-shadow: 0 8px 22px rgba(20,44,69,.035); }
.b4-map .institution-v4-dossier-card.is-historical{ min-height: 225px; }
.b4-map .institution-v4-dossier-meta{ display: flex; justify-content: space-between; gap: .7rem; color: var(--gold, #b9863d); font-size: .59rem; font-weight: 800; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.b4-map .institution-v4-dossier-meta span:last-child{ color: var(--teal, #148d78); text-align: right; }
.b4-map .institution-v4-dossier-card h3{ margin: .95rem 0 .65rem; font-family: Georgia, 'Times New Roman', serif; font-size: 1.55rem; font-weight: 400; letter-spacing: -.025em; line-height: 1.08; }
.b4-map .institution-v4-dossier-role{ margin: 0 0 .7rem; color: var(--navy, #0c2740); font-size: .74rem; font-weight: 800; line-height: 1.4; }
.b4-map .institution-v4-phase-line, .b4-map .institution-v4-intervention{ margin: .45rem 0 0; color: var(--ink-soft, #294463); font-size: .72rem; line-height: 1.43; }
.b4-map .institution-v4-phase-line b, .b4-map .institution-v4-intervention b{ display: block; margin-bottom: .12rem; color: var(--muted, #657287); font-size: .56rem; letter-spacing: .09em; text-transform: uppercase; }
.b4-map .institution-v4-phase-line.is-expected{ color: var(--gold, #9e6f2a); }
.b4-map .institution-v4-intervention{ padding-top: .65rem; border-top: 1px solid rgba(20,44,69,.1); }
.b4-map .institution-v4-card-actions{ display: flex; flex-wrap: wrap; gap: .5rem .9rem; margin-top: auto; padding-top: 1.1rem; }
.b4-map .institution-v4-card-actions a{ color: var(--gold, #9e6f2a); font-size: .68rem; font-weight: 800; text-decoration: none; }
.b4-map .institution-v4-intervention-map{ display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .65rem; }
.b4-map .institution-v4-intervention-map span{ display: grid; min-height: 78px; align-content: center; gap: .35rem; padding: .75rem; border: 1px solid rgba(20,44,69,.13); color: var(--muted, #657287); background: rgba(255,255,255,.42); font-size: .7rem; font-weight: 800; line-height: 1.25; }
.b4-map .institution-v4-intervention-map span i{ width: 8px; height: 8px; border: 1px solid var(--gold, #b9863d); border-radius: 50%; background: transparent; }
.b4-map .institution-v4-intervention-map span.is-observed{ border-color: rgba(20,141,120,.35); color: var(--teal, #148d78); background: rgba(225,241,235,.42); }
.b4-map .institution-v4-intervention-map span.is-observed i{ border-color: var(--teal, #148d78); background: var(--teal, #148d78); }
.b4-map .institution-v4-intervention-map small{ color: var(--muted, #657287); font-size: .56rem; font-weight: 600; }
.b4-map .institution-v4-activity{ display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid rgba(20,44,69,.12); }
.b4-map .institution-v4-activity li{ display: grid; grid-template-columns: 118px minmax(0, 1fr) auto; gap: 1rem; align-items: start; padding: .95rem 0; border-bottom: 1px solid rgba(20,44,69,.1); }
.b4-map .institution-v4-activity time{ color: var(--gold, #9e6f2a); font-size: .67rem; font-weight: 800; }
.b4-map .institution-v4-activity li div{ display: grid; gap: .25rem; }
.b4-map .institution-v4-activity strong{ color: var(--navy, #0c2740); font-size: .82rem; line-height: 1.35; }
.b4-map .institution-v4-activity li div span{ color: var(--muted, #657287); font-size: .72rem; line-height: 1.4; }
.b4-map .institution-v4-activity li div a, .b4-map .institution-v4-evidence{ color: var(--gold, #9e6f2a); font-size: .66rem; font-weight: 800; text-decoration: none; }
.b4-map .institution-v4-network{ display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .8rem; }
.b4-map .institution-v4-network a{ display: grid; gap: .3rem; min-height: 118px; padding: 1rem; border: 1px solid rgba(20,44,69,.13); color: inherit; background: rgba(255,255,255,.5); text-decoration: none; }
.b4-map .institution-v4-network-label{ color: var(--gold, #9e6f2a); font-size: .58rem; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.b4-map .institution-v4-network strong{ color: var(--navy, #0c2740); font-family: Georgia, 'Times New Roman', serif; font-size: 1.12rem; font-weight: 400; line-height: 1.15; }
.b4-map .institution-v4-network small{ align-self: end; color: var(--muted, #657287); font-size: .64rem; }
.b4-map .institution-v4-history{ border-bottom: 0; }
.b4-map .explorer-actor-node[hidden]{ display: none; }
.b4-map .explorer-secondary-toggle{ display: block; margin: 1rem auto 0; padding: .65rem .85rem; border: 1px solid rgba(185,134,61,.45); color: var(--gold, #9e6f2a); background: rgba(255,255,255,.56); font-size: .69rem; font-weight: 800; cursor: pointer; }
.b4-map .topic-evidence-more, .b4-map .topic-related{ margin-top: .65rem; border-top: 1px solid rgba(20,44,69,.11); }
.b4-map .topic-evidence-more summary, .b4-map .topic-related summary{ padding: .65rem 0; color: var(--gold, #9e6f2a); font-size: .68rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .topic-evidence-more summary::-webkit-details-marker, .b4-map .topic-related summary::-webkit-details-marker{ display: none; }
.b4-map .topic-evidence-more summary::after, .b4-map .topic-related summary::after{ content: '＋'; float: right; }
.b4-map .topic-evidence-more[open] summary::after, .b4-map .topic-related[open] summary::after{ content: '−'; }
.b4-map .topic-related summary{ display: grid; gap: .25rem; }
.b4-map .topic-related summary .eyebrow{ margin: 0; }
.b4-map .topic-related summary strong{ color: var(--ink, #142c45); font-family: Georgia, 'Times New Roman', serif; font-size: 1.2rem; font-weight: 400; }
.b4-map .topic-related .muted-link{ display: inline-block; margin-top: .8rem; }
@media (max-width: 900px){
.b4-map .institution-v4-hero, .b4-map .institution-v4-main{ width: calc(100% - 48px); }
.b4-map .institution-v4-dossier-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .institution-v4-intervention-map{ grid-template-columns: repeat(3, minmax(0, 1fr)); }
.b4-map .institution-v4-network{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
.b4-map .institution-v4-hero{ display: grid; gap: 1.4rem; padding: 2.1rem 0 1.8rem; }
.b4-map .institution-v4-identity{ grid-template-columns: 64px minmax(0, 1fr); gap: .9rem; }
.b4-map .institution-v4-mark{ width: 64px; height: 64px; }
.b4-map .institution-v4-logo{ width: 46px; height: 46px; }
.b4-map .institution-v4-monogram{ font-size: 1.2rem; }
.b4-map .institution-v4-hero h1{ font-size: 2.45rem; }
.b4-map .institution-v4-description{ font-size: .86rem; }
.b4-map .institution-v4-facts{ display: block; line-height: 1.7; }
.b4-map .institution-v4-facts span{ display: inline; }
.b4-map .institution-v4-facts span + span::before{ margin-right: .4rem; }
.b4-map .institution-v4-hero-actions{ justify-content: flex-start; }
.b4-map .institution-v4-link{ min-height: 38px; font-size: .66rem; }
.b4-map .institution-v4-main{ padding-top: 1.35rem; }
.b4-map .institution-v4-section{ padding: 1.55rem 0; }
.b4-map .institution-v4-section-heading{ align-items: flex-start; flex-direction: column; gap: .45rem; }
.b4-map .institution-v4-capacity-grid, .b4-map .institution-v4-dossier-grid, .b4-map .institution-v4-network{ grid-template-columns: 1fr; }
.b4-map .institution-v4-capacity-grid{ gap: 1rem; padding: 1rem; }
.b4-map .institution-v4-dossier-card, .b4-map .institution-v4-dossier-card.is-historical{ min-height: 0; }
.b4-map .institution-v4-intervention-map{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .institution-v4-intervention-map span{ min-height: 70px; padding: .65rem; }
.b4-map .institution-v4-activity li{ grid-template-columns: 1fr; gap: .35rem; }
.b4-map .institution-v4-evidence{ justify-self: start; }
.b4-map .topic-evidence-more:not([open]) > *:not(summary){ display: none; }
}
.b4-map /* V3.17: consolidate the institution surface around the current dossier. */
.visually-hidden{ position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.b4-map .institution-v4-breadcrumb{ width: min(1280px, calc(100% - 104px)); margin: 0 auto; padding-top: 1.25rem; }
.b4-map .institution-v4-hero{ display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: 1.25rem 2rem; padding: 1.4rem 0 1.8rem; }
.b4-map .institution-v4-hero h1{ font-size: clamp(2.35rem, 4.4vw, 3.7rem); }
.b4-map .institution-v4-description{ max-width: 760px; margin-top: .55rem; font-size: .93rem; line-height: 1.45; }
.b4-map .institution-v4-role-chips{ gap: .35rem; margin-top: .75rem; }
.b4-map .institution-v4-role-chips span{ padding: .28rem .52rem; font-size: .6rem; letter-spacing: .06em; }
.b4-map .institution-v4-capacity-inline{ display: flex; flex-wrap: wrap; gap: .35rem .6rem; max-width: 760px; margin: .75rem 0 0; color: var(--muted, #657287); font-size: .74rem; line-height: 1.45; }
.b4-map .institution-v4-capacity-inline b{ color: var(--navy, #0c2740); font-size: .63rem; letter-spacing: .08em; text-transform: uppercase; }
.b4-map .institution-v4-main{ padding-top: 1.7rem; }
.b4-map .institution-v4-section{ padding: 1.55rem 0; }
.b4-map .institution-v4-agenda{ padding-top: 0; }
.b4-map .institution-v4-section-heading{ margin-bottom: .9rem; }
.b4-map .institution-v4-section-heading h2{ font-size: clamp(1.55rem, 2.7vw, 2.05rem); }
.b4-map .institution-v4-dossier-grid{ gap: .8rem; }
.b4-map .institution-v4-dossier-card, .b4-map .institution-v4-dossier-card.is-historical{ min-height: 0; padding: 1rem 1.05rem .9rem; }
.b4-map .institution-v4-dossier-card h3{ margin: .7rem 0 .55rem; font-size: 1.3rem; }
.b4-map .institution-v4-dossier-role-label{ margin: 0 0 .18rem; color: var(--muted, #657287); font-size: .56rem; letter-spacing: .09em; text-transform: uppercase; }
.b4-map .institution-v4-dossier-role{ display: block; color: var(--navy, #0c2740); font-size: .72rem; letter-spacing: .08em; line-height: 1.35; }
.b4-map .institution-v4-phase-line{ display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: .25rem; margin: .55rem .35rem 0 0; padding: .28rem .42rem; border: 1px solid rgba(20,141,120,.22); border-radius: 999px; background: rgba(225,241,235,.32); font-size: .63rem; }
.b4-map .institution-v4-phase-line.is-expected{ border-style: dashed; border-color: rgba(158,111,42,.38); background: rgba(185,134,61,.06); }
.b4-map .institution-v4-phase-line b{ display: inline; margin: 0; font-size: .52rem; }
.b4-map .institution-v4-intervention{ padding-top: .55rem; }
.b4-map .institution-v4-card-actions{ gap: .35rem .7rem; padding-top: .85rem; }
.b4-map .institution-v4-card-actions a{ font-size: .63rem; }
.b4-map .institution-v4-intervention-map{ grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .55rem; }
.b4-map .institution-v4-intervention-map span{ min-height: 62px; padding: .65rem; font-size: .64rem; }
.b4-map .institution-v4-intervention-map span.is-structural{ border-style: dashed; }
.b4-map .institution-v4-observed-note{ margin: .75rem 0 0; color: var(--teal, #148d78); font-size: .64rem; line-height: 1.45; }
.b4-map .institution-v4-observed-note b{ margin-right: .35rem; font-size: .55rem; letter-spacing: .08em; }
.b4-map .institution-v4-intervention-bullets{ display: grid; gap: .45rem; margin: .8rem 0 0; padding: 0; list-style: none; }
.b4-map .institution-v4-intervention-bullets li{ padding-left: 1rem; color: var(--ink-soft, #294463); font-size: .72rem; line-height: 1.4; }
.b4-map .institution-v4-intervention-bullets li::before{ content: '•'; display: inline-block; width: 1rem; margin-left: -1rem; color: var(--teal, #148d78); font-weight: 900; }
.b4-map .institution-v4-activity-network{ display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 2rem; }
.b4-map .institution-v4-activity-network > .institution-v4-section{ min-width: 0; padding: 0; border: 0; }
.b4-map .institution-v4-activity-network .institution-v4-section-heading{ margin-bottom: .8rem; }
.b4-map .institution-v4-activity li{ grid-template-columns: 94px minmax(0, 1fr) auto; gap: .7rem; padding: .7rem 0; }
.b4-map .institution-v4-activity strong{ font-size: .74rem; }
.b4-map .institution-v4-activity li div span{ font-size: .65rem; }
.b4-map .institution-v4-activity li div a, .b4-map .institution-v4-evidence{ font-size: .6rem; }
.b4-map .institution-v4-activity-more{ margin-top: .7rem; border-top: 1px solid rgba(20,44,69,.12); }
.b4-map .institution-v4-activity-more summary, .b4-map .institution-v4-more > summary{ padding: .7rem 0; color: var(--gold, #9e6f2a); font-size: .66rem; font-weight: 800; cursor: pointer; list-style: none; }
.b4-map .institution-v4-activity-more summary::-webkit-details-marker, .b4-map .institution-v4-more > summary::-webkit-details-marker{ display: none; }
.b4-map .institution-v4-activity-more summary span, .b4-map .institution-v4-more > summary span{ float: right; font-size: .9rem; }
.b4-map .institution-v4-network{ grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .55rem; }
.b4-map .institution-v4-network a{ min-height: 94px; padding: .75rem; }
.b4-map .institution-v4-network strong{ font-size: .98rem; }
.b4-map .institution-v4-network small{ font-size: .58rem; }
.b4-map .institution-v4-more{ padding: 0; border-bottom: 0; }
.b4-map .institution-v4-more-metadata, .b4-map .institution-v4-more-links{ padding: 1rem 0; border-top: 1px solid var(--line, rgba(20,44,69,.14)); }
.b4-map .institution-v4-more-links{ display: flex; flex-wrap: wrap; gap: .5rem 1rem; }
.b4-map .institution-v4-more-links a{ color: var(--gold, #9e6f2a); font-size: .68rem; font-weight: 800; text-decoration: none; }
.b4-map .institution-v4-more-metadata p{ margin: 0; color: var(--muted, #657287); font-size: .68rem; line-height: 1.5; }
.b4-map .institution-v4-more-metadata b{ color: var(--navy, #0c2740); }
@media (max-width: 900px){
.b4-map .institution-v4-breadcrumb{ width: calc(100% - 48px); }
.b4-map .institution-v4-activity-network{ grid-template-columns: 1fr; gap: 1.3rem; }
}
@media (max-width: 640px){
.b4-map .institution-v4-breadcrumb{ width: calc(100% - 32px); padding-top: .9rem; }
.b4-map .institution-v4-hero{ width: calc(100% - 32px); padding-top: 1.1rem; }
.b4-map .institution-v4-main{ width: calc(100% - 32px); padding-top: 1.2rem; }
.b4-map .institution-v4-capacity-inline{ display: grid; gap: .2rem; }
.b4-map .institution-v4-intervention-map{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .institution-v4-activity-network{ gap: 1rem; }
.b4-map .institution-v4-network{ grid-template-columns: 1fr; }
.b4-map .institution-v4-activity li{ grid-template-columns: 1fr; gap: .25rem; }
.b4-map .institution-v4-evidence{ justify-self: start; }
}
.b4-map /* V3.21 final cascade: keep textual identities contained and give the
   consolidated profile its full mobile reading width. */
.institution-v4-mark{
  overflow: hidden;
  box-sizing: border-box;
  padding: .35rem;
}
.b4-map .institution-v4-logo{
  width: 100%;
  max-width: 100%;
  height: auto;
  max-height: 100%;
  object-fit: contain;
}
.b4-map .institution-v4-monogram{
  display: block;
  max-width: 100%;
  overflow-wrap: anywhere;
  text-align: center;
  font-size: .9rem;
  line-height: 1.05;
}
.b4-map /* The cached official EEA SVG has a tall export canvas around its compact
   rosette. Crop only that asset so the official mark remains legible. */
img[src$="/eea.svg"]{
  object-fit: cover !important;
}
.b4-map img[src$="/eea-cropped.svg"]{
  object-fit: contain !important;
}
.b4-map img[src$="/eea-cropped.png"]{
  object-fit: contain !important;
}
@media (max-width: 640px){
.b4-map .institution-v4-identity{ display: block; }
.b4-map .institution-v4-mark{ width: 64px; height: 64px; margin-bottom: .9rem; }
.b4-map .institution-v4-identity > div:last-child{ min-width: 0; }
.b4-map .institution-v4-hero h1{ max-width: none; font-size: clamp(2.15rem, 10vw, 3rem); line-height: 1.04; }
.b4-map .institution-v4-monogram{ font-size: .62rem; }
}
.b4-map /* Atlas Public Change Subscriptions V1 · secondary, .b4-map gated follow affordance */
.atlas-follow-secondary{ margin-top: 1.1rem; }
.b4-map .atlas-follow-control{ display: inline-flex; align-items: center; gap: .45rem; border: 1px solid rgba(200,167,101,.65); border-radius: 999px; padding: .65rem 1rem; background: #fffdf8; color: #0c2740; font: 600 .82rem/1.1 Manrope, Arial, sans-serif; cursor: pointer; }
.b4-map .atlas-follow-control:disabled{ cursor: not-allowed; opacity: .62; }
.b4-map .atlas-follow-control:not(:disabled):hover{ background: #f8efd9; }
.b4-map .atlas-subscription-dialog{ width: min(92vw, 31rem); border: 0; border-radius: 18px; padding: 0; color: #10283d; box-shadow: 0 24px 70px rgba(12,39,64,.28); }
.b4-map .atlas-subscription-dialog::backdrop{ background: rgba(12,39,64,.45); }
.b4-map .atlas-subscription-dialog form{ position: relative; padding: 2rem; }
.b4-map .atlas-dialog-close{ position: absolute; top: .7rem; right: .9rem; border: 0; background: transparent; color: #637284; font-size: 1.7rem; cursor: pointer; }
.b4-map .atlas-subscription-dialog h2{ margin: .25rem 0 .6rem; font: 400 1.6rem/1.2 'Libre Baskerville', Georgia, serif; }
.b4-map .atlas-subscription-intro, .b4-map .atlas-subscription-legal{ color: #637284; font-size: .88rem; line-height: 1.55; }
.b4-map .atlas-subscription-dialog label{ display: grid; gap: .35rem; margin-top: 1rem; font-weight: 600; font-size: .84rem; }
.b4-map .atlas-subscription-dialog input[type=email]{ width: 100%; border: 1px solid #ccd5dc; border-radius: 8px; padding: .7rem; font: inherit; box-sizing: border-box; }
.b4-map .atlas-subscription-dialog fieldset{ display: grid; gap: .65rem; margin: 1rem 0; border: 1px solid #e3e7ea; border-radius: 10px; padding: .9rem 1rem 1rem; }
.b4-map .atlas-subscription-dialog fieldset label{ display: flex; align-items: center; gap: .5rem; margin: 0; font-weight: 500; }
.b4-map .atlas-subscription-status{ min-height: 1.5rem; color: #0c526e; font-size: .86rem; line-height: 1.4; }
.b4-map .subscription-page{ width: min(92vw, 42rem); margin: 8rem auto; padding: 2.5rem; background: #fffdf8; border: 1px solid #eadfca; border-radius: 18px; box-sizing: border-box; }
.b4-map .subscription-page h1{ font: 400 clamp(1.8rem, 4vw, 2.8rem)/1.15 'Libre Baskerville', Georgia, serif; color: #0c2740; }
.b4-map .subscription-page li, .b4-map .subscription-page p{ color: #536474; line-height: 1.6; }
.b4-map .subscription-page [data-kind="error"]{ color: #9a3b2e; }
.b4-map .subscription-page [data-kind="success"]{ color: #0c526e; }
.b4-map /* Atlas Follow UX V1 · one compact global entry point. */
.header-follow-shell{ position: relative; z-index: 60; margin-left: auto; }
.b4-map .header-follow-toggle{ display: inline-flex; align-items: center; gap: .42rem; min-height: 2.35rem; padding: .55rem .78rem; border: 1px solid rgba(185,134,61,.58); border-radius: 999px; color: var(--navy); background: rgba(255,253,249,.9); font-size: .7rem; font-weight: 800; cursor: pointer; white-space: nowrap; }
.b4-map .header-follow-toggle:hover, .b4-map .header-follow-toggle[aria-expanded="true"]{ border-color: var(--gold); background: #f8efd9; }
.b4-map .header-follow-chevron{ color: var(--gold); font-size: .9rem; line-height: .6; }
.b4-map .atlas-follow-menu{ position: absolute; top: calc(100% + .65rem); right: 0; width: min(25rem, calc(100vw - 2rem)); max-height: min(75vh, 38rem); overflow: auto; padding: .6rem; border: 1px solid rgba(185,134,61,.34); border-radius: 14px; background: rgba(255,253,249,.98); box-shadow: 0 18px 45px rgba(20,44,69,.17); }
.b4-map .atlas-follow-menu[hidden]{ display: none; }
.b4-map .atlas-follow-menu-items{ display: grid; gap: .14rem; }
.b4-map .atlas-follow-menu-item{ display: flex; width: 100%; min-height: 2.65rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .62rem .72rem; border: 0; border-radius: 9px; color: var(--ink); background: transparent; text-align: left; cursor: pointer; }
.b4-map .atlas-follow-menu-item:hover, .b4-map .atlas-follow-menu-item:focus-visible{ color: var(--navy); background: #f8efd9; outline: none; }
.b4-map .atlas-follow-menu-item span{ min-width: 0; font-size: .74rem; font-weight: 700; }
.b4-map .atlas-follow-menu-item small{ flex: 0 0 auto; color: var(--muted); font-size: .59rem; text-align: right; }
.b4-map .atlas-follow-menu-label{ margin: .55rem .72rem .25rem; color: var(--gold); font-size: .56rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.b4-map .atlas-follow-menu-advanced{ margin-top: .3rem; border-top: 1px solid var(--line); border-radius: 0 0 9px 9px; color: var(--gold); }
.b4-map .atlas-follow-active{ display: grid; gap: .18rem; margin: .15rem .15rem .45rem; padding: .75rem .8rem; border-left: 2px solid var(--teal); background: var(--teal-soft); }
.b4-map .atlas-follow-active strong{ font-family: var(--serif); font-size: .9rem; font-weight: 400; }
.b4-map .atlas-follow-active small{ color: var(--ink-soft); font-size: .6rem; line-height: 1.4; }
.b4-map .atlas-follow-status{ color: var(--teal); font-size: .56rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .atlas-follow-manage{ display: block; margin: .35rem .15rem 0; padding: .7rem .8rem .35rem; border-top: 1px solid var(--line); color: var(--gold); font-size: .68rem; font-weight: 800; }
.b4-map .atlas-follow-manage-muted{ color: var(--muted); font-size: .6rem; font-weight: 500; }
.b4-map .atlas-follow-scope-preview{ display: flex; flex-wrap: wrap; gap: .35rem; margin: .8rem 0 .15rem; }
.b4-map .atlas-follow-scope-preview span, .b4-map .atlas-follow-selected-chip{ display: inline-flex; align-items: center; gap: .25rem; padding: .32rem .5rem; border-radius: 999px; color: var(--navy); background: var(--gold-soft); font-size: .63rem; font-weight: 700; }
.b4-map .atlas-follow-selector{ width: min(94vw, 48rem); max-width: 48rem; max-height: min(92vh, 52rem); overflow: hidden; border: 0; border-radius: 18px; padding: 0; color: var(--ink); background: var(--white); box-shadow: 0 24px 70px rgba(12,39,64,.28); }
.b4-map .atlas-follow-selector::backdrop{ background: rgba(12,39,64,.48); }
.b4-map .atlas-follow-selector-form{ position: relative; display: flex; max-height: min(92vh, 52rem); flex-direction: column; padding: 2rem; overflow: auto; }
.b4-map .atlas-follow-selector h2{ margin: .25rem 0 .55rem; font: 400 1.7rem/1.2 var(--serif); }
.b4-map .atlas-selector-intro{ max-width: 40rem; margin-bottom: 1rem; color: var(--ink-soft); font-size: .79rem; line-height: 1.5; }
.b4-map .atlas-follow-selector-email{ display: grid; gap: .35rem; margin: 0 0 1rem; color: var(--navy); font-size: .69rem; font-weight: 800; }
.b4-map .atlas-follow-selector-email input{ width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: .68rem .75rem; color: var(--ink); background: #fff; }
.b4-map .atlas-follow-search{ display: grid; gap: .35rem; margin: 0; color: var(--navy); font-size: .69rem; font-weight: 800; }
.b4-map .atlas-follow-search input{ width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: .68rem .75rem; color: var(--ink); background: #fff; }
.b4-map .atlas-follow-selected{ margin: 1rem 0 .75rem; padding: .8rem; border: 1px solid var(--gold-soft); border-radius: 10px; background: rgba(234,219,193,.25); }
.b4-map .atlas-follow-selected > div:first-child{ display: flex; align-items: baseline; justify-content: space-between; gap: 1rem; }
.b4-map .atlas-selector-label{ color: var(--gold); font-size: .55rem; font-weight: 800; letter-spacing: .14em; }
.b4-map .atlas-follow-selected strong{ font-size: .68rem; }
.b4-map .atlas-follow-selected-list{ display: flex; flex-wrap: wrap; gap: .35rem; margin-top: .55rem; }
.b4-map .atlas-follow-selected-chip{ padding-right: .25rem; }
.b4-map .atlas-follow-selected-chip button{ display: inline-grid; width: 1.15rem; height: 1.15rem; place-items: center; border: 0; border-radius: 50%; color: var(--navy); background: transparent; cursor: pointer; }
.b4-map .atlas-follow-selected-chip button:hover{ background: rgba(12,39,64,.1); }
.b4-map .atlas-follow-empty{ color: var(--muted); font-size: .65rem; }
.b4-map .atlas-follow-catalog{ display: grid; gap: .55rem; min-height: 4rem; }
.b4-map .atlas-follow-area-group{ border: 1px solid var(--line); border-radius: 10px; background: rgba(255,253,249,.65); }
.b4-map .atlas-follow-area-group > summary{ display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .75rem; cursor: pointer; list-style: none; }
.b4-map .atlas-follow-area-group > summary::-webkit-details-marker{ display: none; }
.b4-map .atlas-follow-area-group > summary::before{ margin-right: .45rem; color: var(--gold); content: '＋'; font-size: .8rem; }
.b4-map .atlas-follow-area-group[open] > summary::before{ content: '−'; }
.b4-map .atlas-follow-area-group > summary > span:first-child{ display: grid; gap: .2rem; min-width: 0; }
.b4-map .atlas-follow-area-group > summary strong{ font-size: .73rem; }
.b4-map .atlas-follow-area-group > summary small, .b4-map .atlas-follow-area-count{ color: var(--muted); font-size: .58rem; }
.b4-map .atlas-follow-area-count{ color: var(--teal); font-weight: 700; }
.b4-map .atlas-follow-area-options{ display: grid; gap: .3rem; padding: 0 .65rem .65rem 1.85rem; }
.b4-map .atlas-follow-area-option, .b4-map .atlas-follow-dossier-option{ display: flex; min-width: 0; align-items: flex-start; gap: .55rem; padding: .5rem .55rem; border-radius: 7px; cursor: pointer; }
.b4-map .atlas-follow-area-option{ border: 1px solid var(--gold-soft); background: rgba(234,219,193,.24); }
.b4-map .atlas-follow-area-option:hover, .b4-map .atlas-follow-dossier-option:hover{ background: #f8efd9; }
.b4-map .atlas-follow-area-option span{ display: grid; gap: .15rem; }
.b4-map .atlas-follow-area-option strong{ font-size: .67rem; }
.b4-map .atlas-follow-area-option small{ color: var(--muted); font-size: .57rem; line-height: 1.35; }
.b4-map .atlas-follow-dossier-option{ align-items: center; color: var(--ink-soft); font-size: .65rem; line-height: 1.35; }
.b4-map .atlas-follow-area-option input, .b4-map .atlas-follow-dossier-option input, .b4-map .atlas-follow-frequency-fieldset input, .b4-map .atlas-subscription-dialog fieldset input{ accent-color: var(--teal); flex: 0 0 auto; }
.b4-map .atlas-follow-add-dossier{ align-self: flex-start; margin: .75rem 0 0 1.85rem; padding: .25rem 0; border: 0; color: var(--gold); background: transparent; font-size: .65rem; font-weight: 800; cursor: pointer; }
.b4-map .atlas-follow-frequency-fieldset{ display: grid; gap: .55rem; margin: 1rem 0 0; border: 1px solid var(--line); border-radius: 10px; padding: .75rem .85rem .85rem; }
.b4-map .atlas-follow-frequency-fieldset legend{ padding: 0 .3rem; color: var(--navy); font-size: .67rem; font-weight: 800; }
.b4-map .atlas-follow-frequency-fieldset label{ display: flex; align-items: center; gap: .5rem; margin: 0; color: var(--ink-soft); font-size: .68rem; }
.b4-map .atlas-selector-actions{ display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .55rem; margin-top: 1rem; }
.b4-map .atlas-follow-management-note{ margin: .75rem 0; padding: .6rem .7rem; color: var(--ink-soft); background: var(--gold-soft); font-size: .65rem; line-height: 1.4; }
.b4-map .subscription-page-intro, .b4-map .atlas-management-copy{ color: var(--ink-soft); font-size: .78rem; line-height: 1.5; }
.b4-map .atlas-management-editor{ margin: 1.2rem 0; }
.b4-map .atlas-management-editor form{ display: grid; gap: .65rem; }
.b4-map .atlas-management-group{ display: grid; gap: .45rem; margin: 0; border: 1px solid var(--line); border-radius: 10px; padding: .75rem; }
.b4-map .atlas-management-group legend{ padding: 0 .25rem; color: var(--gold); font-size: .61rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .atlas-management-row{ display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: .75rem; padding: .5rem; background: rgba(234,219,193,.22); }
.b4-map .atlas-management-row > label{ display: flex; min-width: 0; align-items: center; gap: .5rem; color: var(--ink); font-size: .68rem; font-weight: 700; }
.b4-map .atlas-management-row > label span{ overflow-wrap: anywhere; }
.b4-map .atlas-management-frequencies{ display: flex; flex-wrap: wrap; gap: .45rem; }
.b4-map .atlas-management-frequencies label{ display: flex; align-items: center; gap: .25rem; color: var(--muted); font-size: .57rem; }
.b4-map .atlas-management-editor[hidden]{ display: none; }
@media (max-width: 780px){
.b4-map .header-inner{ width: calc(100% - 32px); min-height: 68px; gap: .45rem; }
.b4-map .brand{ min-width: 0; flex: 1 1 auto; gap: .4rem; }
.b4-map .brand img{ width: 132px; }
.b4-map .header-follow-shell{ margin-left: 0; }
.b4-map .header-follow-toggle{ min-height: 2.15rem; padding: .5rem .62rem; font-size: .62rem; }
.b4-map .atlas-follow-menu{ position: fixed; top: 4.25rem; right: 1rem; left: 1rem; width: auto; max-height: calc(100vh - 5.25rem); }
.b4-map .atlas-follow-selector{ width: calc(100vw - 1rem); max-height: calc(100vh - .5rem); border-radius: 14px; }
.b4-map .atlas-follow-selector-form{ max-height: calc(100vh - .5rem); padding: 1.45rem 1rem 1rem; }
.b4-map .atlas-follow-selector h2{ font-size: 1.45rem; }
.b4-map .atlas-follow-area-options{ padding-left: .65rem; }
.b4-map .atlas-follow-add-dossier{ margin-left: .65rem; }
.b4-map .atlas-selector-actions{ justify-content: stretch; }
.b4-map .atlas-selector-actions .button{ flex: 1 1 0; }
.b4-map .atlas-management-row{ grid-template-columns: 1fr; align-items: start; }
}
.b4-map /* Atlas Follow UX Repair V1 · stable header rhythm, .b4-map reusable contextual action, .b4-map and one sticky footer at the bottom of the advanced selector. */
.header-inner{ gap: 1rem; }
.b4-map .brand{ flex: 0 1 auto; min-width: 0; white-space: nowrap; }
.b4-map .primary-nav{ flex: 0 0 auto; margin-left: auto; }
.b4-map .header-follow-shell{ flex: 0 0 auto; margin-left: 1.15rem; }
.b4-map .menu-toggle{ flex: 0 0 auto; margin-left: 1.15rem; }
.b4-map .atlas-context-title{ display: flex; flex-wrap: wrap; align-items: center; gap: .85rem 1.1rem; }
.b4-map .atlas-context-title h1{ margin-bottom: 0; }
.b4-map .atlas-follow-context-button{ display: inline-flex; min-height: 2.25rem; align-items: center; gap: .6rem; padding: .55rem .75rem; border: 1px solid rgba(185,134,61,.58); border-radius: 999px; color: var(--navy); background: rgba(255,253,249,.9); font-size: .65rem; font-weight: 800; cursor: pointer; white-space: nowrap; }
.b4-map .atlas-follow-context-button:hover, .b4-map .atlas-follow-context-button:focus-visible{ border-color: var(--gold); background: #f8efd9; }
.b4-map .atlas-follow-context-button > span:last-child{ color: var(--gold); font-size: .9rem; }
.b4-map .topic-hero-actions{ display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 1.1rem; }
.b4-map .atlas-privacy-notice{ margin: .95rem 0 1rem; padding: .8rem .85rem; border-left: 2px solid var(--gold); color: var(--ink-soft); background: rgba(234,219,193,.3); font-size: .68rem; line-height: 1.5; }
.b4-map .atlas-privacy-notice p{ margin: 0; }
.b4-map .atlas-privacy-notice p + p{ margin-top: .45rem; }
.b4-map .atlas-privacy-kicker{ color: var(--gold); font-size: .57rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.b4-map .atlas-privacy-notice a{ color: var(--navy); font-weight: 800; text-decoration: underline; text-decoration-color: var(--gold); }
.b4-map .atlas-selector-footer{ position: sticky; z-index: 3; bottom: -1rem; margin: 1rem -2rem -2rem; padding: .75rem 2rem 1rem; border-top: 1px solid var(--line); background: rgba(255,255,255,.97); }
.b4-map .atlas-selector-footer .atlas-selector-actions{ margin-top: 0; }
@media (max-width: 780px){
.b4-map .primary-nav{ margin-left: 0; }
.b4-map .header-follow-shell{ margin-left: 0; }
.b4-map .menu-toggle{ margin-left: 0; }
.b4-map .atlas-context-title{ align-items: flex-start; flex-direction: column; gap: .55rem; }
.b4-map .atlas-selector-footer{ bottom: -.5rem; margin: 1rem -1rem -1rem; padding: .7rem 1rem .8rem; }
}
.b4-map .atlas-management-editor form{ gap: .8rem; }
.b4-map .atlas-management-search{ display: grid; gap: .35rem; color: var(--navy); font-size: .69rem; font-weight: 800; }
.b4-map .atlas-management-search input{ width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: .68rem .75rem; color: var(--ink); background: #fff; }
.b4-map .atlas-management-groups{ display: grid; gap: .55rem; }
.b4-map .atlas-management-group{ display: block; padding: 0; overflow: hidden; }
.b4-map .atlas-management-group > summary{ display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .75rem; cursor: pointer; list-style: none; }
.b4-map .atlas-management-group > summary::-webkit-details-marker{ display: none; }
.b4-map .atlas-management-group > summary::before{ margin-right: .45rem; color: var(--gold); content: '＋'; font-size: .8rem; }
.b4-map .atlas-management-group[open] > summary::before{ content: '−'; }
.b4-map .atlas-management-group > summary strong{ color: var(--ink); font-size: .73rem; }
.b4-map .atlas-management-group > summary small{ color: var(--muted); font-size: .58rem; }
.b4-map .atlas-management-group-options{ display: grid; gap: .45rem; padding: 0 .65rem .65rem; }
.b4-map .atlas-management-group[hidden]{ display: none; }
.b4-map .header-follow-shell[hidden], .b4-map .atlas-follow-context-button[hidden]{ display: none !important; }
.b4-map .atlas-follow-expand{ align-self: flex-start; margin: .35rem 0 .1rem; padding: .25rem 0; border: 0; color: var(--gold); background: transparent; font-size: .68rem; font-weight: 800; cursor: pointer; }
.b4-map .atlas-marketing-consent{ display: grid; gap: .55rem; border: 1px solid rgba(12,82,110,.2); background: rgba(12,82,110,.035); }
.b4-map .atlas-marketing-consent legend{ color: var(--teal); font-size: .67rem; font-weight: 800; }
.b4-map .atlas-marketing-consent p{ margin: 0; color: var(--muted); font-size: .6rem; line-height: 1.45; }
.b4-map .atlas-management-actions{ display: flex; flex-wrap: wrap; gap: .55rem; align-items: center; }
.b4-map /* Atlas Lobby V2.1 · two ordinary dossier cards, .b4-map closed decision state, .b4-map and
   a compact vote visualization for the historical RDL record. */
.home-highlight-dossiers{ display: grid; grid-template-columns: minmax(0, 1fr); gap: .85rem; min-width: 0; }
.b4-map .home-highlight-dossier-card{ display: flex; min-width: 0; flex-direction: column; padding: 1rem; border: 1px solid var(--line); background: rgba(255,253,249,.76); }
.b4-map .home-highlight-dossier-card h3{ margin: 0 0 .45rem; color: var(--ink); font-size: .95rem; line-height: 1.28; }
.b4-map .home-highlight-dossier-card .home-highlight-dossier-title{ min-height: 4.15rem; margin-bottom: .7rem; }
.b4-map .home-highlight-dossier-card .home-highlight-status{ margin-bottom: .75rem; }
.b4-map .home-highlight-current{ display: grid; gap: .22rem; margin-top: auto; padding: .65rem 0; border-top: 1px solid var(--line); }
.b4-map .home-highlight-current span{ color: var(--gold); font-size: .54rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.b4-map .home-highlight-current strong{ color: var(--ink); font-size: .68rem; line-height: 1.35; }
.b4-map .home-highlight-dossier-card .home-highlight-next{ margin-top: .2rem; }
.b4-map .home-highlight-dossier-card .home-highlight-secondary{ margin-top: .75rem; }
.b4-map .lobby-agenda-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
.b4-map .lobby-historical-banner{ display: grid; gap: .2rem; max-width: 38rem; margin-top: 1rem; padding: .75rem .85rem; border-left: 2px solid var(--gold); color: var(--ink-soft); background: rgba(234,219,193,.25); font-size: .7rem; line-height: 1.45; }
.b4-map .lobby-historical-banner strong{ color: var(--gold); font-size: .57rem; letter-spacing: .12em; }
.b4-map .lobby-vote-block{ border-top: 2px solid var(--navy); }
.b4-map .lobby-vote-result{ display: grid; grid-template-columns: minmax(220px, .72fr) minmax(0, 1.28fr); gap: 1.35rem; align-items: center; padding: 1rem; border: 1px solid var(--line); background: rgba(255,253,249,.82); }
.b4-map .lobby-vote-meta{ display: grid; gap: .36rem; }
.b4-map .lobby-vote-meta > span{ color: var(--gold); font-size: .58rem; font-weight: 800; letter-spacing: .12em; }
.b4-map .lobby-vote-meta strong{ color: var(--navy); font-family: var(--serif); font-size: 1.2rem; font-weight: 400; line-height: 1.2; }
.b4-map .lobby-vote-meta small{ color: var(--muted); font-size: .63rem; }
.b4-map .lobby-vote-bars{ display: grid; gap: .82rem; }
.b4-map .lobby-vote-row{ display: grid; gap: .3rem; }
.b4-map .lobby-vote-row-label{ display: flex; justify-content: space-between; gap: 1rem; color: var(--ink-soft); font-size: .7rem; }
.b4-map .lobby-vote-row-label strong{ color: var(--navy); }
.b4-map .lobby-vote-track{ height: .62rem; overflow: hidden; border-radius: 999px; background: #e8ecee; }
.b4-map .lobby-vote-fill{ display: block; height: 100%; min-width: .18rem; border-radius: inherit; }
.b4-map .lobby-vote-fill.is-yes{ background: #4b8b73; }
.b4-map .lobby-vote-fill.is-no{ background: #b3554c; }
.b4-map .lobby-vote-fill.is-abstentions{ background: #b98a45; }
.b4-map .lobby-vote-source{ display: inline-flex; margin-top: .8rem; }
.b4-map .procedure-phase.phase-outcome{ border-color: rgba(179,85,76,.55); background: rgba(179,85,76,.055); }
.b4-map .procedure-phase.phase-outcome .phase-index{ color: #9c4138; }
.b4-map .procedure-phase.phase-outcome .phase-event h3{ color: #89382f; }
.b4-map .legend-outcome{ color: #9c4138; }
@media (max-width: 1100px){
.b4-map .home-highlight-card{ display: block; }
.b4-map .home-highlight-area{ padding-right: 0; }
.b4-map .home-highlight-dossiers{ margin-top: 1.25rem; }
}
@media (max-width: 780px){
.b4-map .home-highlight-dossiers, .b4-map .lobby-agenda-grid{ grid-template-columns: 1fr; }
.b4-map .home-highlight-dossier-card .home-highlight-dossier-title{ min-height: 0; }
.b4-map .lobby-vote-result{ grid-template-columns: 1fr; gap: 1rem; padding: .85rem; }
.b4-map .lobby-vote-meta strong{ font-size: 1.05rem; }
}
