/* P0/P1 source-derived public layer. Reference: Справочник иммиграции.dc.html. */
:root {
  --paper:#FBFAF8; --surface:#FFFFFF; --surface-2:#F6F4EF;
  --ink:#15171B; --ink-2:#4A4F58; --ink-3:#7B818B;
  --rule:#E4E1D9; --rule-2:#F0EEE8;
  --accent:#1F4B99; --accent-2:#EAF0FA;
  --ok:#2F7A55; --ok-bg:#EDF6F0; --warn:#A8730F; --warn-bg:#FBF3E2; --danger:#9E2B25; --danger-bg:#FBEEEB;
  --d1:#2F7A55; --d2:#A8730F; --d3:#BF5620; --d4:#9E2B25;
  --reg-free:#157A6B; --reg-evisa:#4A7CB8; --reg-conditional:var(--d2); --reg-visa:#8A6CA8; --reg-closed:#6B2333; --reg-home:#C6C2B6;
  --map-sea:#F1F0EA; --map-out:#E2DFD7; --map-line:#FBFAF8; --map-published:#93ADD2;
  --map-visa-free:var(--reg-free); --map-visa-evisa:var(--reg-evisa); --map-visa-conditional:var(--reg-conditional); --map-visa-required:var(--reg-visa); --map-visa-closed:var(--reg-closed); --map-visa-mixed:var(--map-out); --map-visa-stale:var(--map-out); --map-unknown:var(--map-out);
  --color-paper:var(--paper); --color-surface:var(--surface); --color-surface-2:var(--surface-2);
  --color-ink:var(--ink); --color-ink-2:var(--ink-2); --color-ink-3:var(--ink-3);
  --color-rule:var(--rule); --color-rule-2:var(--rule-2); --color-accent:var(--accent); --color-accent-2:var(--accent-2);
  --color-ok:var(--ok); --color-warn:var(--warn); --color-danger:var(--danger); --color-on-accent:#fff;
}

:root[data-theme="dark"] {
  --paper:#101318; --surface:#171A21; --surface-2:#1C2028;
  --ink:#E9EBEF; --ink-2:#A7AEB9; --ink-3:#7B838F;
  --rule:#272D36; --rule-2:#1E232B; --accent:#7BA5E8; --accent-2:#1A2333;
  --ok:#5FB183; --ok-bg:#14261C; --warn:#D2A244; --warn-bg:#2A2314; --danger:#E0837A; --danger-bg:#2B1A18;
  --d1:#5FB183; --d2:#D2A244; --d3:#DE8552; --d4:#E0837A;
  --reg-free:#2E9B89; --reg-evisa:#6E9CD6; --reg-conditional:var(--d2); --reg-visa:#A98DC4; --reg-closed:#9E4356; --reg-home:#3A3F49;
  --map-sea:#131821; --map-out:#1C222B; --map-line:#101318; --map-published:#3C5D91;
  --map-visa-free:var(--reg-free); --map-visa-evisa:var(--reg-evisa); --map-visa-conditional:var(--reg-conditional); --map-visa-required:var(--reg-visa); --map-visa-closed:var(--reg-closed); --map-visa-mixed:var(--map-out); --map-visa-stale:var(--map-out); --map-unknown:var(--map-out);
  --color-on-accent:#101318;
}

@media (prefers-color-scheme:dark) {
  :root:not([data-theme="light"]) {
    --paper:#101318; --surface:#171A21; --surface-2:#1C2028; --ink:#E9EBEF; --ink-2:#A7AEB9; --ink-3:#7B838F;
    --rule:#272D36; --rule-2:#1E232B; --accent:#7BA5E8; --accent-2:#1A2333; --ok:#5FB183; --ok-bg:#14261C; --warn:#D2A244; --warn-bg:#2A2314; --danger:#E0837A; --danger-bg:#2B1A18;
    --d1:#5FB183; --d2:#D2A244; --d3:#DE8552; --d4:#E0837A; --reg-free:#2E9B89; --reg-evisa:#6E9CD6; --reg-conditional:var(--d2); --reg-visa:#A98DC4; --reg-closed:#9E4356; --reg-home:#3A3F49; --map-sea:#131821; --map-out:#1C222B; --map-line:#101318; --map-published:#3C5D91; --map-visa-free:var(--reg-free); --map-visa-evisa:var(--reg-evisa); --map-visa-conditional:var(--reg-conditional); --map-visa-required:var(--reg-visa); --map-visa-closed:var(--reg-closed); --map-visa-mixed:var(--map-out); --map-visa-stale:var(--map-out); --map-unknown:var(--map-out); --color-on-accent:#101318;
  }
}

body { font:400 14px/1.45 "IBM Plex Sans",sans-serif; background:var(--paper); color:var(--ink); }
.site-header { z-index:60; background:var(--surface); border-bottom:1px solid var(--rule); backdrop-filter:none; }
.site-header__inner { display:flex; align-items:center; gap:20px; flex-wrap:wrap; min-height:0; padding-block:11px; }
.brand { gap:9px; flex:none; }
.brand__reference-mark { display:flex; align-items:center; justify-content:center; width:29px; height:29px; border-radius:4px; background:var(--accent); color:#fff; }
.brand__reference-copy { display:flex; flex-direction:column; line-height:1; }
.brand__reference-copy > span:first-child { font:700 15px/1 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.brand__reference-copy > span:last-child { margin-top:3px; color:var(--ink-3); font:500 9px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.site-search { position:relative; display:block; flex:1 1 260px; min-width:0; }
.site-search__icon { position:absolute; z-index:1; top:50%; left:11px; display:flex; transform:translateY(-50%); color:var(--ink-3); pointer-events:none; }
.site-search input { width:100%; min-height:0; padding:9px 12px 9px 34px; border:1px solid var(--rule); border-radius:5px; background:var(--paper); color:var(--ink); font:400 14px/1.2 "IBM Plex Sans",sans-serif; outline-color:var(--accent); }
.site-search button { position:absolute; inset:0 0 0 auto; width:1px; min-height:0; padding:0; border:0; opacity:0; }
.site-nav { gap:4px; flex-wrap:wrap; white-space:normal; }
.site-nav a { padding:7px 9px; border-radius:4px; color:var(--ink-2); font:500 13px/1 "IBM Plex Sans",sans-serif; }
.site-nav a:hover { background:var(--rule-2); color:var(--ink); }
.theme-toggle { width:auto; height:auto; padding:7px; border:1px solid var(--rule); border-radius:4px; background:var(--surface); }
.page-shell { max-width:1360px; padding:26px 28px 34px; }
.page-shell--catalog { width:min(100%, 1360px); }
.breadcrumbs { margin-bottom:16px; }
.breadcrumbs ol { gap:6px; font:500 12.5px/1 "IBM Plex Sans",sans-serif; }
.breadcrumbs li + li::before { content:"›"; margin-right:6px; color:var(--ink-3); }
.site-footer { margin-top:20px; border-top:1px solid var(--rule); background:var(--surface); }
.site-footer__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:26px; padding-block:34px 26px; }
.site-footer h2 { margin:0 0 12px; color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.site-footer nav { display:flex; flex-direction:column; gap:8px; }
.site-footer nav a { width:fit-content; color:var(--ink-2); font:400 13.5px/1.3 "IBM Plex Sans",sans-serif; text-decoration:none; }
.site-footer__bottom { display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding-block:16px 30px; border-top:1px solid var(--rule-2); color:var(--ink-3); font:400 12.5px/1.5 "IBM Plex Sans",sans-serif; }
.site-footer__bottom span { max-width:70ch; }
.site-footer__bottom a { display:inline-flex; align-items:center; gap:6px; margin-left:auto; font:500 12.5px/1 "IBM Plex Sans",sans-serif; }

.reference-home { display:flex; flex-direction:column; gap:22px; padding:14px 0 34px; }
.reference-home__intro h1 { max-width:24ch; margin:0; color:var(--ink); font:600 clamp(30px,3.4vw,46px)/1.1 "Source Serif 4",Georgia,serif; letter-spacing:-.02em; text-wrap:pretty; }
.reference-home__intro > p { max-width:62ch; margin:16px 0 0; color:var(--ink-2); font:400 19px/1.6 "Source Serif 4",Georgia,serif; text-wrap:pretty; }
.reference-home__search { position:relative; max-width:620px; margin-top:22px; }
.reference-home__search > svg { position:absolute; top:50%; left:17px; transform:translateY(-50%); color:var(--ink-3); pointer-events:none; }
.reference-home__search input { width:100%; padding:16px 18px 16px 48px; border:1px solid var(--rule); border-radius:7px; background:var(--surface); box-shadow:0 2px 0 var(--rule-2); color:var(--ink); font:400 16.5px/1.25 "IBM Plex Sans",sans-serif; outline-color:var(--accent); }
.reference-home__quick { display:flex; flex-wrap:wrap; gap:8px; padding:0; margin:14px 0 0; list-style:none; }
.reference-home__quick a { display:inline-flex; align-items:center; gap:7px; padding:8px 13px; border:1px solid var(--rule); border-radius:100px; background:var(--surface); color:var(--ink-2); font:500 13.5px/1 "IBM Plex Sans",sans-serif; text-decoration:none; }
.reference-home__quick a:hover { border-color:var(--accent); background:var(--accent-2); color:var(--accent); }
.reference-home__stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); padding:0; margin:0; border:1px solid var(--rule); border-radius:6px; background:var(--surface); }
.reference-home__stats div { min-width:0; padding:14px 18px; border-inline-end:1px solid var(--rule); }
.reference-home__stats div:last-child { border:0; }
.reference-home__stats dt { margin-bottom:5px; color:var(--ink-3); font:500 10px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }
.reference-home__stats dd { margin:0; color:var(--ink); font:600 16px/1.1 "IBM Plex Sans",sans-serif; }

.reference-map { padding:0; margin:0; border:1px solid var(--rule); border-radius:7px; background:var(--surface); overflow:hidden; }
.reference-map__heading { display:flex; align-items:end; justify-content:space-between; gap:16px; padding:20px 20px 0; }
.reference-map__heading p,.reference-regions > div > p,.reference-path > div > p,.reference-collections > div > p { margin:0 0 5px; color:var(--ink-3); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.reference-map h2,.reference-regions h2,.reference-path h2,.reference-collections h2 { margin:0; color:var(--ink); font:600 25px/1.2 "Source Serif 4",Georgia,serif; letter-spacing:-.01em; }
.reference-map__heading > span { padding:5px 8px; border-radius:4px; background:var(--surface-2); color:var(--ink-3); font:500 10px/1 "IBM Plex Mono",monospace; white-space:nowrap; }
.reference-map__intro { max-width:66ch; padding:0 20px; margin:10px 0 0; color:var(--ink-2); font-size:13.5px; }
.reference-map__canvas { display:block; position:relative; height:clamp(280px,42vw,520px); margin-top:8px; overflow:hidden; background:var(--map-sea); }
.reference-map__loading { display:grid; height:100%; place-items:center; color:var(--ink-3); font-size:13px; }
.reference-map__tooltip { min-height:20px; padding:0 20px; margin:9px 0 0; color:var(--ink-3); font-size:12.5px; }
.reference-map__tip-title { display:flex; align-items:center; gap:8px; min-height:20px; margin-bottom:4px; font-size:14px; font-weight:600; }
.reference-map__tip-name { min-width:0; }
.reference-map__tip-flag { display:block; width:20px; height:15px; flex:none; object-fit:contain; border-radius:2px; opacity:0; }
.reference-map__tip-flag.is-loaded { opacity:1; }
.reference-map__legend { display:flex; flex-wrap:wrap; gap:14px; padding:11px 20px; margin-top:10px; border-top:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-2); font-size:12px; }
.reference-map__legend span { display:inline-flex; align-items:center; gap:6px; }.reference-map__legend i { width:9px; height:9px; border:1px solid var(--accent); border-radius:2px; background:var(--map-published); }.reference-map__legend .reference-map__legend-swatch--page { border:1.5px solid var(--accent); background:transparent; }.reference-map__legend-note { color:var(--ink-3); }
.reference-map__legend--visa i { border-color:transparent; background:var(--map-out); }.reference-map__legend--visa .reference-map__legend-swatch--free { background:var(--map-visa-free); }.reference-map__legend--visa .reference-map__legend-swatch--evisa { background:var(--map-visa-evisa); }.reference-map__legend--visa .reference-map__legend-swatch--conditional { background:var(--map-visa-conditional); }.reference-map__legend--visa .reference-map__legend-swatch--required { background:var(--map-visa-required); }.reference-map__legend--visa .reference-map__legend-swatch--closed { background:var(--map-visa-closed); }.reference-map__legend--visa .reference-map__legend-swatch--mixed { border-color:var(--rule); background:var(--map-visa-mixed); }.reference-map__legend--visa .reference-map__legend-swatch--stale { border-color:var(--rule); background:var(--map-visa-stale); }.reference-map__legend--visa .reference-map__legend-swatch--unknown { border-color:var(--rule); background:var(--map-unknown); }.reference-map__legend--visa .reference-map__legend-swatch--page { border:1.5px solid var(--accent); background:transparent; }
.reference-country-conditions__visa-evidence p { margin:7px 0; color:var(--ink-2); }.reference-country-conditions__routes,.reference-country-conditions__visa-records { display:grid; gap:5px; padding-left:18px; }.reference-country-conditions__routes li { display:flex; align-items:center; gap:6px; }.reference-country-conditions__route-swatch { display:inline-block; width:9px; height:9px; flex:none; border-radius:2px; background:var(--map-out); }.reference-country-conditions__route-swatch--visa-free { background:var(--map-visa-free); }.reference-country-conditions__route-swatch--visa-evisa { background:var(--map-visa-evisa); }.reference-country-conditions__route-swatch--visa-required { background:var(--map-visa-required); }.reference-country-conditions__route-swatch--visa-closed { background:var(--map-visa-closed); }.reference-country-conditions__route-swatch--visa-conditional { background:var(--map-visa-conditional); }.reference-country-conditions__visa-records small { display:block; margin-top:3px; color:var(--ink-3); }
.reference-country-conditions__visa-records strong { display:block; margin-top:3px; color:var(--ink-2); font-size:11px; }
.reference-map__fallback { padding:0 20px 18px; color:var(--ink-3); font-size:12px; }.reference-map__fallback p { margin:13px 0 7px; color:var(--ink-3); }.reference-map__fallback ul { display:flex; flex-wrap:wrap; gap:5px 13px; padding-left:17px; margin:0; }
.reference-region-catalog__map { margin:0 0 32px; }
.reference-map__country-marker { outline:none; }
.reference-map__marker-leader { stroke:var(--accent); stroke-width:1; stroke-dasharray:2 2; opacity:0; pointer-events:none; }
.reference-map__marker-hit-area { fill:transparent; pointer-events:all; }
.reference-map__marker-dot { fill:var(--surface,#fff); stroke:var(--accent); stroke-width:2; }
.reference-map__marker-label-bg { fill:var(--surface,#fff); stroke:var(--accent); stroke-width:.8; opacity:0; pointer-events:none; }
.reference-map__marker-label { fill:var(--ink,#15171b); font:600 9px/1 "IBM Plex Sans",system-ui,sans-serif; opacity:0; pointer-events:none; }
.reference-map__country-marker:hover .reference-map__marker-dot,.reference-map__country-marker.is-active .reference-map__marker-dot,.reference-map__country-marker:focus-visible .reference-map__marker-dot,.reference-map__country-marker:active .reference-map__marker-dot { fill:var(--accent); stroke-width:3; }
.reference-map__country-marker:hover .reference-map__marker-label-bg,.reference-map__country-marker.is-active .reference-map__marker-label-bg,.reference-map__country-marker:focus-visible .reference-map__marker-label-bg,.reference-map__country-marker:active .reference-map__marker-label-bg { stroke-width:1.7; }
.reference-map__country-marker:focus-visible .reference-map__marker-label-bg { stroke:var(--focus,var(--accent)); }
.reference-map__country-marker:hover .reference-map__marker-leader,.reference-map__country-marker.is-active .reference-map__marker-leader,.reference-map__country-marker:focus-visible .reference-map__marker-leader,.reference-map__country-marker:active .reference-map__marker-leader,
.reference-map__country-marker:hover .reference-map__marker-label-bg,.reference-map__country-marker.is-active .reference-map__marker-label-bg,.reference-map__country-marker:focus-visible .reference-map__marker-label-bg,.reference-map__country-marker:active .reference-map__marker-label-bg,
.reference-map__country-marker:hover .reference-map__marker-label,.reference-map__country-marker.is-active .reference-map__marker-label,.reference-map__country-marker:focus-visible .reference-map__marker-label,.reference-map__country-marker:active .reference-map__marker-label { opacity:1; }
.reference-map__country-marker:hover .reference-map__marker-label-bg,.reference-map__country-marker.is-active .reference-map__marker-label-bg,.reference-map__country-marker:focus-visible .reference-map__marker-label-bg,.reference-map__country-marker:active .reference-map__marker-label-bg { pointer-events:auto; }

.reference-regions,.reference-path,.reference-collections { margin-top:34px; }.reference-regions ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; padding:0; margin:16px 0 0; list-style:none; }
.reference-regions a { position:relative; display:block; min-height:130px; padding:18px 42px 17px 70px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); color:var(--ink); text-decoration:none; transition:border-color .15s,transform .15s,box-shadow .15s; }
.reference-regions a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }.reference-regions__icon { position:absolute; top:18px; left:18px; display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }.reference-regions strong { display:block; font:600 17px/1.25 "IBM Plex Sans",sans-serif; }.reference-regions small { display:block; margin-top:7px; color:var(--ink-2); font-size:13px; }.reference-regions__arrow { position:absolute; right:18px; bottom:18px; color:var(--accent); }
.reference-path { padding:22px; border:1px solid var(--rule); border-radius:7px; background:var(--surface-2); }.reference-path > div { display:flex; align-items:end; gap:18px; flex-wrap:wrap; margin-bottom:16px; }.reference-path > div > span { max-width:48ch; color:var(--ink-2); font:400 13.5px/1.45 "IBM Plex Sans",sans-serif; }
.reference-ladder { display:grid; grid-template-columns:repeat(auto-fit,minmax(186px,1fr)); gap:12px; }.reference-ladder > * { position:relative; display:grid; gap:6px; min-height:126px; padding:16px 15px 13px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); color:var(--ink); text-decoration:none; overflow:hidden; }.reference-ladder a { transition:transform .15s,border-color .15s,box-shadow .15s; }.reference-ladder a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }.reference-ladder__rail { position:absolute; inset:0 0 auto; height:3px; background:var(--rule); }.reference-ladder a:first-child .reference-ladder__rail { background:color-mix(in oklab,var(--accent) 45%,var(--rule)); }.reference-ladder a:nth-child(2) .reference-ladder__rail { background:color-mix(in oklab,var(--accent) 45%,var(--rule)); }.reference-ladder a:nth-child(3) { border-color:var(--accent); background:var(--accent-2); }.reference-ladder a:nth-child(3) .reference-ladder__rail { background:var(--accent); }.reference-ladder__icon { display:grid; width:38px; height:38px; place-items:center; margin-top:12px; border:1px solid var(--rule); border-radius:5px; background:var(--rule-2); color:var(--ink-2); }.reference-ladder a:nth-child(3) .reference-ladder__icon { border-color:var(--accent); background:var(--accent); color:#fff; }.reference-ladder > * > span:not(.reference-ladder__rail):not(.reference-ladder__icon) { font:600 17px/1.25 "IBM Plex Sans",sans-serif; }.reference-ladder small { color:var(--ink-2); font-size:12px; }
.reference-collections__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); gap:14px; margin-top:16px; }.reference-collections__grid > a { display:block; padding:18px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); color:var(--ink); text-decoration:none; transition:border-color .15s,transform .15s,box-shadow .15s; }.reference-collections__grid > a:first-child { border-color:var(--accent); box-shadow:0 0 0 3px var(--accent-2); }.reference-collections__grid > a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }.reference-collections__grid > a > span { display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }.reference-collections__grid strong { display:block; margin-top:13px; font:600 17px/1.25 "IBM Plex Sans",sans-serif; }.reference-collections__grid small { display:block; margin-top:6px; color:var(--ink-2); font-size:13px; }.reference-collections__grid dl { display:flex; gap:22px; padding-top:13px; margin:16px 0 0; border-top:1px solid var(--rule-2); }.reference-collections__grid dt { color:var(--ink-3); font:500 9.5px/1 "IBM Plex Mono",monospace; letter-spacing:.08em; text-transform:uppercase; }.reference-collections__grid dd { margin:4px 0 0; color:var(--ink-2); font-size:12.5px; }

@media (max-width:800px) { .site-nav { display:none; }.mobile-menu { display:block; }.site-header__inner { gap:12px; }.reference-home__stats { grid-template-columns:repeat(2,minmax(0,1fr)); }.reference-home__stats div:nth-child(2) { border-inline-end:0; }.reference-home__stats div:nth-child(-n+2) { border-bottom:1px solid var(--rule); } }
@media (max-width:620px) { .container,.page-shell { padding-inline:16px; }.site-header__inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; grid-template-areas:"brand theme menu" "search search search"; padding-block:10px; }.brand { grid-area:brand; }.site-search { grid-area:search; }.theme-toggle { grid-area:theme; }.mobile-menu { grid-area:menu; }.reference-home { padding-top:8px; }.reference-home__intro > p { font-size:17.5px; }.reference-map__heading { align-items:start; flex-direction:column; }.reference-map__canvas { height:300px; }.reference-path { padding:16px; }.reference-ladder { grid-template-columns:1fr; }.site-footer__bottom a { margin-left:0; } }

/* P2 Europe catalog: reference lines 341–562, driven by the existing SSR result. */
.reference-europe { padding:8px 0 34px; }.reference-europe__intro { max-width:74ch; margin-bottom:30px; }.reference-europe__eyebrow,.reference-europe__next p { margin:0 0 8px; color:var(--ink-3); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.reference-europe__intro h1 { margin:0; color:var(--ink); font:600 clamp(31px,3.4vw,46px)/1.1 "Source Serif 4",Georgia,serif; letter-spacing:-.02em; }.reference-europe__intro > p:last-child { max-width:62ch; margin:15px 0 0; color:var(--ink-2); font:400 18px/1.6 "Source Serif 4",Georgia,serif; text-wrap:pretty; }
.reference-europe__summary { display:flex; flex-wrap:wrap; gap:0; overflow:hidden; margin-bottom:34px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); }.reference-europe__summary > div { flex:1 1 160px; min-width:0; padding:14px 18px; border-right:1px solid var(--rule-2); }.reference-europe__summary > div:last-child { border-right:0; }.reference-europe__summary span { display:block; color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.reference-europe__summary strong { display:block; margin-top:8px; color:var(--ink); font:600 23px/1 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.reference-europe__editorial { max-width:74ch; margin-bottom:36px; }.reference-europe__editorial h2,.reference-europe__collections h2,.reference-europe__next h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }.reference-europe__editorial p { margin:0 0 14px; color:var(--ink-2); font:400 18px/1.65 "Source Serif 4",Georgia,serif; text-wrap:pretty; }.reference-europe__editorial p:last-child { margin-bottom:0; }.reference-europe__editorial strong { color:var(--ink); font-weight:600; }
.reference-europe__filters { margin-bottom:38px; }.reference-filter-panel { overflow:hidden; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }.reference-filter-panel > fieldset,.reference-filter-panel__choices { padding:0; margin:0; border:0; min-width:0; }.reference-filter-panel__header { display:flex; align-items:center; gap:10px; padding:13px 18px; border-bottom:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-2); }.reference-filter-panel__header h2 { margin:0; color:var(--ink); font:600 14.5px/1 "IBM Plex Sans",sans-serif; }.reference-filter-panel__header > span { color:var(--ink-3); font:400 12.5px/1 "IBM Plex Sans",sans-serif; }.reference-filter-panel__header > a { margin-left:auto; color:var(--accent); font:500 12.5px/1 "IBM Plex Sans",sans-serif; text-decoration:none; white-space:nowrap; }.reference-filter-panel__header > a:hover { text-decoration:underline; }.reference-filter-panel__grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:18px; padding:18px; }.reference-filter-panel__field > span,.reference-filter-panel__choices > legend { display:block; padding:0; margin:0 0 9px; color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.reference-filter-panel__field input,.reference-filter-panel__field select { box-sizing:border-box; width:100%; min-height:38px; padding:8px 10px; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink); font:400 13px/1.2 "IBM Plex Sans",sans-serif; outline-color:var(--accent); }.reference-filter-panel__choices > div { display:flex; flex-wrap:wrap; gap:6px; }.reference-filter-panel__choices label { position:relative; display:inline-flex; cursor:pointer; }.reference-filter-panel__choices input { position:absolute; inline-size:1px; block-size:1px; opacity:0; }.reference-filter-panel__choices span { display:inline-flex; align-items:center; min-height:30px; padding:6px 10px; border:1px solid var(--rule); border-radius:100px; background:var(--surface); color:var(--ink-2); font:500 12.5px/1 "IBM Plex Sans",sans-serif; }.reference-filter-panel__choices input:checked + span { border-color:var(--accent); background:var(--accent-2); color:var(--accent); }.reference-filter-panel__choices input:focus-visible + span { outline:2px solid var(--accent); outline-offset:2px; }.reference-filter-panel__actions { display:flex; align-items:end; }.reference-filter-panel__actions button { min-height:38px; padding:9px 14px; border:0; border-radius:5px; background:var(--accent); color:#fff; font:600 13px/1 "IBM Plex Sans",sans-serif; cursor:pointer; }.reference-filter-panel__actions button:hover { filter:brightness(.94); }.reference-active-filters { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:12px 18px; border:1px solid var(--accent); border-top:0; border-radius:0 0 7px 7px; background:var(--accent-2); }.reference-active-filters strong { color:var(--accent); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.reference-active-filters ul { display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; list-style:none; }.reference-active-filters li span { display:inline-flex; padding:5px 9px; border:1px solid var(--accent); border-radius:100px; background:var(--surface); color:var(--accent); font:500 12px/1 "IBM Plex Sans",sans-serif; }.reference-active-filters > a { margin-left:auto; color:var(--ink-3); font:400 11.5px/1 "IBM Plex Sans",sans-serif; }
.reference-profile-filters__empty { padding:16px 18px; margin:0; color:var(--ink-2); font:400 13px/1.5 "IBM Plex Sans",sans-serif; }
.reference-catalog { margin-bottom:40px; }.reference-catalog__switcher { position:sticky; top:112px; z-index:30; display:flex; align-items:center; gap:12px; flex-wrap:wrap; padding:10px 0 12px; background:var(--paper); }.reference-catalog__switcher > div { display:flex; gap:3px; padding:3px; border:1px solid var(--rule); border-radius:6px; background:var(--rule-2); }.reference-catalog__switcher button { display:inline-flex; align-items:center; gap:6px; min-height:31px; padding:7px 10px; border:0; border-radius:4px; background:transparent; color:var(--ink-2); font:500 12.5px/1 "IBM Plex Sans",sans-serif; cursor:pointer; }.reference-catalog__switcher button.is-active,.reference-catalog__switcher button[aria-pressed="true"] { background:var(--surface); box-shadow:0 1px 2px rgb(15 20 30 / 10%); color:var(--ink); }.reference-catalog__switcher button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }.reference-catalog__switcher > p { max-width:74ch; margin:0; color:var(--ink-3); font:400 12.5px/1.4 "IBM Plex Sans",sans-serif; }.reference-catalog__projection[hidden] { display:none; }
.reference-map--catalog { border-radius:7px; }.reference-map--catalog .reference-map__canvas { height:clamp(320px,46vw,560px); margin-top:0; }.reference-map__legend-note { margin-left:auto; color:var(--ink-3); }.reference-country-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(310px,1fr)); gap:12px; }.reference-country-card { display:block; padding:15px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); }.reference-country-card:hover { border-color:var(--accent); }.reference-country-card__head { display:flex; align-items:center; gap:10px; }.reference-country-card__mark { display:grid; width:30px; height:30px; flex:none; place-items:center; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }.reference-country-card h3 { flex:1; min-width:0; margin:0; color:var(--ink); font:600 16.5px/1.2 "IBM Plex Sans",sans-serif; }.reference-country-card h3 a { color:inherit; text-decoration:none; }.reference-country-card h3 a:hover { color:var(--accent); }.reference-country-card__status { display:inline-flex; align-items:center; padding:5px 8px; border:1px solid var(--rule); border-radius:3px; background:var(--surface-2); color:var(--ink-3); font:500 10.5px/1.1 "IBM Plex Sans",sans-serif; text-align:center; }.reference-country-card dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(78px,1fr)); gap:10px; padding-top:12px; margin:14px 0 0; border-top:1px solid var(--rule-2); }.reference-country-card dl div { min-width:0; }.reference-country-card dt { color:var(--ink-3); font:600 9px/1 "IBM Plex Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }.reference-country-card dd { margin:5px 0 0; color:var(--ink); font:500 13.5px/1.2 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; }.reference-country-card__foot { display:flex; align-items:center; gap:10px; margin-top:12px; color:var(--ink-3); font:400 12px/1.3 "IBM Plex Sans",sans-serif; }.reference-country-card__foot a { display:inline-flex; align-items:center; gap:4px; margin-left:auto; color:var(--accent); font:500 12px/1 "IBM Plex Sans",sans-serif; text-decoration:none; }.reference-country-card__foot a:hover { text-decoration:underline; }
.reference-catalog-table { overflow:auto; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }.reference-catalog-table table { width:100%; min-width:720px; border-collapse:collapse; font-family:"IBM Plex Sans",sans-serif; }.reference-catalog-table th,.reference-catalog-table td { padding:11px 10px; border-bottom:1px solid var(--rule-2); text-align:left; vertical-align:middle; color:var(--ink-2); font:400 13.5px/1.3 "IBM Plex Sans",sans-serif; }.reference-catalog-table thead th { border-bottom-color:var(--rule); background:var(--surface-2); color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }.reference-catalog-table thead th button { display:inline-flex; align-items:center; gap:4px; padding:0; border:0; background:none; color:var(--ink-3); font:600 10.5px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:.06em; text-align:left; text-transform:uppercase; cursor:pointer; }.reference-catalog-table thead th[aria-sort="ascending"] button,.reference-catalog-table thead th[aria-sort="descending"] button,.reference-catalog-table thead th button:hover { color:var(--accent); }.reference-catalog-table thead th button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }.reference-catalog-table tbody tr:hover { background:var(--accent-2); }.reference-catalog-table tbody th { color:var(--ink); font-weight:600; }.reference-catalog-table tbody th a { display:inline-flex; align-items:center; gap:8px; color:inherit; text-decoration:none; }.reference-catalog-table tbody th a:hover { color:var(--accent); }.reference-catalog-table tbody th svg { color:var(--accent); }.reference-catalog-table__footer { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:11px 18px; border-top:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-3); font:400 12px/1.4 "IBM Plex Sans",sans-serif; }.reference-catalog-table__footer a { margin-left:auto; color:var(--accent); font-weight:500; }
.reference-catalog-table--conditions table { min-width:100%; table-layout:fixed; }
.reference-catalog-table--conditions th:first-child { width:25%; }
.reference-catalog-table--conditions td { overflow-wrap:anywhere; line-height:1.45; }
.reference-country-conditions { margin:0; padding-left:18px; }
.reference-country-conditions li + li { margin-top:6px; }
.reference-country-conditions__label { color:var(--ink-3); font-weight:600; }
.reference-country-conditions__scope { display:block; margin-top:3px; color:var(--ink-3); font-size:12px; line-height:1.35; }
.reference-collections .reference-catalog-table { margin-top:16px; }
.reference-catalog-table--overview table { min-width:960px; table-layout:fixed; }
.reference-catalog-table--overview th:nth-child(1) { width:12%; }
.reference-catalog-table--overview th:nth-child(n+2) { width:22%; }
.reference-catalog-table--overview td { overflow-wrap:anywhere; line-height:1.45; }
.reference-catalog-table--overview tbody td a { display:block; color:var(--accent); font:inherit; text-decoration:none; }
.reference-catalog-table--overview tbody td a:hover { text-decoration:underline; text-underline-offset:3px; }
.reference-catalog-table--overview tbody td a:focus-visible,
.reference-catalog-table--overview[role="region"]:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-catalog-table--overview tbody td span { color:var(--ink-3); }
.reference-empty-results { display:grid; justify-items:start; gap:10px; padding:24px; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }.reference-empty-results p { margin:0; color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.reference-empty-results h2 { margin:0; color:var(--ink); font:600 22px/1.25 "IBM Plex Sans",sans-serif; }.reference-empty-results span { color:var(--ink-2); }.reference-empty-results a { display:inline-flex; margin-top:4px; padding:9px 12px; border-radius:5px; background:var(--accent); color:#fff; font-weight:600; text-decoration:none; }
.reference-europe__collections { margin-bottom:40px; }.reference-europe__collections > div > p { max-width:70ch; margin:0 0 16px; color:var(--ink-3); font:400 14px/1.5 "IBM Plex Sans",sans-serif; }.reference-europe__collections ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; padding:0; margin:0; list-style:none; }.reference-europe__collections a { position:relative; display:block; min-height:130px; padding:18px 18px 17px 70px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); color:var(--ink); text-decoration:none; transition:border-color .15s,transform .15s,box-shadow .15s; }.reference-europe__collections a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }.reference-europe__collections a > span { position:absolute; top:18px; left:18px; display:grid; width:36px; height:36px; place-items:center; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }.reference-europe__collections strong,.reference-europe__collections small,.reference-europe__collections em { display:block; }.reference-europe__collections strong { font:600 17px/1.25 "IBM Plex Sans",sans-serif; }.reference-europe__collections small { margin-top:7px; color:var(--ink-2); font:400 13px/1.35 "IBM Plex Sans",sans-serif; }.reference-europe__collections em { position:absolute; right:18px; bottom:18px; display:inline-flex; align-items:center; gap:4px; color:var(--accent); font:500 12px/1 "IBM Plex Sans",sans-serif; font-style:normal; }.reference-europe__next { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:18px; border:1px solid var(--accent); border-radius:7px; background:var(--accent-2); }.reference-europe__next > span { display:grid; width:38px; height:38px; place-items:center; border-radius:5px; background:var(--accent); color:#fff; }.reference-europe__next > div { flex:1; min-width:180px; }.reference-europe__next h2 { margin-bottom:5px; font-size:18px; }.reference-europe__next small { color:var(--ink-2); font:400 13px/1.4 "IBM Plex Sans",sans-serif; }.reference-europe__next > a { display:inline-flex; align-items:center; gap:5px; padding:9px 12px; border-radius:5px; background:var(--accent); color:#fff; font:600 13px/1 "IBM Plex Sans",sans-serif; text-decoration:none; }
@media (max-width:800px) { .reference-europe__summary > div:nth-child(3n) { border-right:0; }.reference-catalog__switcher { top:84px; }.reference-map__legend-note { width:100%; margin-left:0; } }
@media (max-width:620px) { .reference-catalog-table--conditions th:first-child { width:34%; }.reference-catalog-table--conditions th,.reference-catalog-table--conditions td { padding:9px 7px; font-size:12.5px; }.reference-europe { padding-top:0; }.reference-europe__intro > p:last-child,.reference-europe__editorial p { font-size:17px; }.reference-europe__summary > div { flex-basis:50%; padding:13px 14px; }.reference-europe__summary > div:nth-child(2n) { border-right:0; }.reference-europe__summary strong { font-size:19px; }.reference-filter-panel__header { align-items:flex-start; flex-wrap:wrap; padding-inline:14px; }.reference-filter-panel__header > a { margin-left:auto; }.reference-filter-panel__grid { grid-template-columns:1fr; gap:16px; padding:14px; }.reference-catalog__switcher { top:72px; align-items:flex-start; flex-direction:column; }.reference-catalog__switcher > p { font-size:12px; }.reference-map--catalog .reference-map__canvas { height:320px; }.reference-country-card__head { align-items:flex-start; flex-wrap:wrap; }.reference-country-card__status { margin-left:auto; }.reference-country-card dl { grid-template-columns:repeat(2,minmax(0,1fr)); }.reference-europe__next > a { width:100%; justify-content:center; }.reference-europe__collections ul { grid-template-columns:1fr; } }

/* P3 France country shell: source branch 564–729 plus Лестница/Разделы DOM variants. */
.reference-country { padding:8px 0 38px; }.reference-country h2 { color:var(--ink); }.reference-country-parameters { overflow:hidden; margin-bottom:34px; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }.reference-country-parameters__head { display:flex; align-items:center; gap:12px; padding:15px 20px; border-bottom:1px solid var(--rule-2); background:var(--surface-2); }.reference-country-parameters__head > span:first-child { font-size:26px; line-height:1; }.reference-country-parameters__head h2 { margin:0; font:600 17px/1.2 "IBM Plex Sans",sans-serif; }.reference-country-parameters__status { display:inline-flex; align-items:center; gap:7px; margin-left:auto; padding:5px 9px; border:1px solid var(--rule); border-radius:3px; background:var(--surface); color:var(--ink-2); font:500 12px/1 "IBM Plex Sans",sans-serif; white-space:nowrap; }.reference-country-parameters__status i { display:block; width:9px; height:9px; border-radius:2px; background:var(--ink-3); }.reference-country-parameters dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); padding:0; margin:0; }.reference-country-parameters dl > div { display:flex; justify-content:space-between; gap:14px; padding:12px 20px; border-right:1px solid var(--rule-2); border-bottom:1px solid var(--rule-2); }.reference-country-parameters dt { color:var(--ink-3); font:400 13.5px/1.4 "IBM Plex Sans",sans-serif; }.reference-country-parameters dd { margin:0; color:var(--ink); font:600 13.5px/1.4 "IBM Plex Sans",sans-serif; text-align:right; font-variant-numeric:tabular-nums; }.reference-country-parameters dd.is-ok { color:var(--ok); }.reference-country-parameters dd.is-neutral { color:var(--ink-2); }.reference-country-parameters__notice { display:flex; gap:10px; padding:14px 20px; background:var(--warn-bg); color:var(--warn); }.reference-country-parameters__notice > svg { flex:none; margin-top:1px; }.reference-country-parameters__notice strong { display:block; color:var(--warn); font:600 13px/1.3 "IBM Plex Sans",sans-serif; }.reference-country-parameters__notice p { margin:4px 0 0; color:var(--ink-2); font:400 13.5px/1.5 "IBM Plex Sans",sans-serif; }
.reference-country-section-head { display:flex; align-items:baseline; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:14px; }.reference-country-section-head h2,.reference-country-summary h2,.reference-country-timeline h2 { margin:0; font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }.reference-country-section-head p,.reference-country-timeline > p { margin:0; color:var(--ink-3); font:400 13px/1.4 "IBM Plex Sans",sans-serif; }.reference-country-ladder-section { margin-bottom:38px; }.reference-country-ladder { display:grid; grid-template-columns:repeat(auto-fit,minmax(186px,1fr)); gap:12px; padding:0; margin:0; list-style:none; }.reference-country-ladder li > * { position:relative; display:grid; gap:6px; min-height:176px; padding:16px 15px 13px; overflow:hidden; border:1px solid var(--rule); border-radius:6px; background:var(--surface); color:var(--ink); text-decoration:none; }.reference-country-ladder a { transition:transform .15s,border-color .15s,box-shadow .15s; }.reference-country-ladder a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }.reference-country-ladder li > * > i { position:absolute; inset:0 0 auto; height:3px; background:var(--rule); }.reference-country-ladder li:nth-child(-n+2) > * > i { background:color-mix(in oklab,var(--accent) 45%,var(--rule)); }.reference-country-ladder li:nth-child(3) > * { border-color:var(--accent); background:var(--accent-2); }.reference-country-ladder li:nth-child(3) > * > i { background:var(--accent); }.reference-country-ladder__top { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-top:2px; }.reference-country-ladder__top small { color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }.reference-country-ladder__top em { padding:4px 7px; border-radius:3px; background:var(--surface-2); color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.07em; font-style:normal; text-transform:uppercase; }.reference-country-ladder__icon { display:grid; width:38px; height:38px; place-items:center; margin-top:6px; border:1px solid var(--rule); border-radius:5px; background:var(--rule-2); color:var(--ink-2); }.reference-country-ladder li:nth-child(3) .reference-country-ladder__icon { border-color:var(--accent); background:var(--accent); color:#fff; }.reference-country-ladder strong { font:600 18px/1.2 "IBM Plex Sans",sans-serif; }.reference-country-ladder b { color:var(--accent); font:600 13.5px/1.25 "IBM Plex Sans",sans-serif; }.reference-country-ladder__description { color:var(--ink-3); font:400 12.5px/1.45 "IBM Plex Sans",sans-serif; }.reference-country-ladder__footer { display:flex; align-items:center; gap:6px; margin-top:auto; padding-top:11px; border-top:1px solid var(--rule-2); color:var(--ink-3); font:500 11px/1 "IBM Plex Sans",sans-serif; }.reference-country-ladder__footer svg { margin-left:auto; }
.reference-country-summary { margin-bottom:40px; }.reference-country-summary__lead { max-width:74ch; margin:14px 0 0; color:var(--ink-2); font:400 18px/1.65 "Source Serif 4",Georgia,serif; text-wrap:pretty; }.reference-country-summary__fit { display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:14px; margin:20px 0; }.reference-country-summary__fit article { padding:17px; border:1px solid var(--rule); border-left:3px solid var(--rule); border-radius:6px; background:var(--surface); }.reference-country-summary__fit .is-fit { border-left-color:var(--ok); }.reference-country-summary__fit .is-not-fit { border-left-color:var(--danger); }.reference-country-summary__fit article > div { display:flex; align-items:center; gap:8px; margin-bottom:9px; }.reference-country-summary__fit .is-fit svg { color:var(--ok); }.reference-country-summary__fit .is-not-fit svg { color:var(--danger); }.reference-country-summary__fit h3 { margin:0; color:var(--ink); font:600 15.5px/1.2 "IBM Plex Sans",sans-serif; }.reference-country-summary__fit p,.reference-country-summary__note { margin:0; color:var(--ink-2); font:400 15.5px/1.6 "Source Serif 4",Georgia,serif; }.reference-country-summary__note { max-width:74ch; padding-left:16px; border-left:2px solid var(--accent); font-size:17.5px; }
.reference-country-stage { padding-top:26px; margin-bottom:40px; border-top:1px solid var(--rule); }.reference-country-stage__head { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; }.reference-country-stage__head > span { padding:6px 9px; border-radius:3px; background:var(--accent-2); color:var(--accent); font:600 10px/1 "IBM Plex Sans",sans-serif; letter-spacing:.11em; text-transform:uppercase; }.reference-country-stage__head h2 { margin:0; font:600 25px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:-.012em; }.reference-country-stage__head > small { color:var(--ink-3); font:400 13px/1 "IBM Plex Sans",sans-serif; }.reference-country-stage__head > a { display:inline-flex; align-items:center; gap:6px; margin-left:auto; color:var(--accent); font:500 13.5px/1 "IBM Plex Sans",sans-serif; text-decoration:none; }.reference-country-stage__head > a:hover { text-decoration:underline; }.reference-country-stage > p { max-width:74ch; margin:14px 0 20px; color:var(--ink-2); font:400 17.5px/1.62 "Source Serif 4",Georgia,serif; text-wrap:pretty; }.reference-country-section-cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(272px,1fr)); gap:14px; }.reference-country-section-cards > * { position:relative; display:block; padding:18px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); color:var(--ink); text-decoration:none; }.reference-country-section-cards > a { transition:border-color .15s,transform .15s,box-shadow .15s; }.reference-country-section-cards > a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }.reference-country-section-cards__top { display:flex; gap:12px; align-items:flex-start; }.reference-country-section-cards__top > span { display:grid; width:36px; height:36px; flex:none; place-items:center; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }.reference-country-section-cards h3 { margin:0; color:var(--ink); font:600 16.5px/1.3 "IBM Plex Sans",sans-serif; }.reference-country-section-cards__top p { margin:4px 0 0; color:var(--ink-3); font:400 13.5px/1.45 "IBM Plex Sans",sans-serif; }.reference-country-section-cards dl { display:flex; gap:18px; padding-top:12px; margin:14px 0 0; border-top:1px solid var(--rule-2); }.reference-country-section-cards dl > div { flex:1; min-width:0; }.reference-country-section-cards dl > div + div { padding-left:18px; border-left:1px solid var(--rule-2); }.reference-country-section-cards dt { color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.09em; text-transform:uppercase; }.reference-country-section-cards dd { margin:5px 0 0; color:var(--ink); font:500 14px/1.3 "IBM Plex Sans",sans-serif; }.reference-country-section-cards__foot { display:flex; align-items:center; gap:10px; margin-top:12px; }.reference-country-section-cards__foot > span { display:flex; gap:3px; }.reference-country-section-cards__foot i { display:block; width:15px; height:5px; border-radius:1px; background:var(--rule); }.reference-country-section-cards__foot em { color:var(--ink-3); font:500 12.5px/1 "IBM Plex Sans",sans-serif; font-style:normal; }
.reference-country-asylum { padding-top:26px; margin-bottom:40px; border-top:1px solid var(--rule); }.reference-country-asylum > div { padding:22px; border:1px dashed var(--ink-3); border-radius:7px; background:var(--surface-2); }.reference-country-asylum__head { display:flex; align-items:center; gap:11px; flex-wrap:wrap; }.reference-country-asylum__head > span { display:inline-flex; align-items:center; gap:7px; padding:6px 9px; border:1px solid var(--ink-3); border-radius:3px; color:var(--ink-2); font:600 10px/1 "IBM Plex Sans",sans-serif; letter-spacing:.11em; text-transform:uppercase; }.reference-country-asylum h2 { margin:0; font:600 23px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }.reference-country-asylum > div > p { max-width:74ch; margin:14px 0 0; color:var(--ink-2); font:400 17px/1.62 "Source Serif 4",Georgia,serif; text-wrap:pretty; }.reference-country-asylum__notice { display:flex; gap:10px; padding:13px 15px; margin:18px 0; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink-2); }.reference-country-asylum__notice svg { flex:none; margin-top:1px; }.reference-country-asylum__notice p { margin:0; color:var(--ink-2); font:400 13.5px/1.55 "IBM Plex Sans",sans-serif; }
.reference-country-timeline { margin-bottom:30px; }.reference-country-timeline > p { max-width:70ch; margin:6px 0 16px; font-size:14px; line-height:1.5; }.reference-country-timeline ol { display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:2px; padding:20px; margin:0; border:1px solid var(--rule); border-radius:7px; background:var(--surface); list-style:none; }.reference-country-timeline li { padding-right:14px; }.reference-country-timeline li > i { display:block; height:3px; border-radius:2px; background:var(--rule); }.reference-country-timeline li:first-child > i,.reference-country-timeline li:nth-child(2) > i { background:var(--accent); }.reference-country-timeline li:nth-child(3) > i { background:color-mix(in oklab,var(--accent) 55%,var(--rule)); }.reference-country-timeline li:nth-child(4) > i { background:color-mix(in oklab,var(--accent) 35%,var(--rule)); }.reference-country-timeline small,.reference-country-timeline strong,.reference-country-timeline span { display:block; }.reference-country-timeline small { margin-top:12px; color:var(--ink-3); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }.reference-country-timeline strong { margin-top:7px; color:var(--ink); font:600 16px/1.25 "IBM Plex Sans",sans-serif; }.reference-country-timeline span { margin-top:6px; color:var(--ink-2); font:400 13px/1.5 "IBM Plex Sans",sans-serif; }.reference-country-next { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:18px; margin-bottom:34px; border:1px solid var(--accent); border-radius:7px; background:var(--accent-2); }.reference-country-next > span { display:grid; width:38px; height:38px; flex:none; place-items:center; border-radius:5px; background:var(--accent); color:#fff; }.reference-country-next > div { flex:1; min-width:180px; }.reference-country-next p { margin:0 0 8px; color:var(--ink-3); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.1em; text-transform:uppercase; }.reference-country-next h2 { margin:0 0 5px; font:600 18px/1.25 "IBM Plex Sans",sans-serif; }.reference-country-next small { color:var(--ink-2); font:400 13px/1.4 "IBM Plex Sans",sans-serif; }.reference-country-next > a { display:inline-flex; align-items:center; gap:5px; padding:9px 12px; border-radius:5px; background:var(--accent); color:#fff; font:600 13px/1 "IBM Plex Sans",sans-serif; text-decoration:none; }
@media (max-width:620px) { .reference-country { padding-top:0; }.reference-country-parameters__head { align-items:flex-start; flex-wrap:wrap; padding-inline:14px; }.reference-country-parameters__status { margin-left:0; }.reference-country-parameters dl > div { padding-inline:14px; border-right:0; }.reference-country-parameters__notice { padding-inline:14px; }.reference-country-section-head { align-items:flex-start; flex-direction:column; }.reference-country-summary__lead { font-size:17px; }.reference-country-stage__head { align-items:flex-start; }.reference-country-stage__head > a { width:100%; margin-left:0; }.reference-country-asylum > div { padding:16px; }.reference-country-timeline ol { grid-template-columns:1fr; gap:18px; padding:16px; }.reference-country-next > a { width:100%; justify-content:center; } }

/* Published families: sharedHead 189–209; brief 745–765; ladder band/mini
   Лестница.dc.html 42–77. Values/links come only from the released revision. */
.reference-shared-head { margin-bottom:26px; }
.reference-shared-head h1 { margin:0; max-width:min(100%,32ch); color:var(--ink); font:600 34px/1.16 "Source Serif 4",Georgia,serif; letter-spacing:-.015em; text-wrap:pretty; }
.reference-shared-head > p { max-width:64ch; margin:16px 0 0; color:var(--ink-2); font:400 18.5px/1.6 "Source Serif 4",Georgia,serif; text-wrap:pretty; }
.reference-shared-head__freshness { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin-top:14px; }.reference-shared-head__freshness-status { display:inline-flex; align-items:center; gap:7px; padding:6px 11px; border:1px solid color-mix(in srgb,var(--ok) 20%,transparent); border-radius:4px; background:color-mix(in srgb,var(--ok) 9%,var(--surface)); color:var(--ok); font:500 12.5px/1.3 "IBM Plex Sans",sans-serif; }
.reference-freshness { display:flex; align-items:center; flex-wrap:wrap; gap:10px 18px; padding:12px 14px; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.reference-freshness__status { display:inline-flex; align-items:center; gap:7px; padding:6px 10px; border:1px solid var(--rule); border-radius:4px; background:var(--surface-2); color:var(--ink-2); font:600 12px/1.3 "IBM Plex Sans",sans-serif; }
.reference-freshness__status.is-current { border-color:var(--ok); background:var(--ok-bg); color:var(--ok); }
.reference-freshness__status.is-overdue,.reference-freshness__status.is-unscheduled { border-color:var(--warn); background:var(--warn-bg); color:var(--warn); }
.reference-freshness__status svg { flex:none; }
.reference-freshness__dates { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 16px; margin:0; }
.reference-freshness__dates > div { display:inline-flex; align-items:baseline; gap:5px; }
.reference-freshness__dates dt { color:var(--ink-3); font:500 10px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:.06em; text-transform:uppercase; }
.reference-freshness__dates dd { margin:0; color:var(--ink); font:500 12.5px/1.35 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; }
.published-reference .content-block--freshness > p.reference-freshness__note { margin:10px 0 0; color:var(--warn); font:400 13px/1.45 "IBM Plex Sans",sans-serif; }
.published-reference { min-width:0; overflow-wrap:anywhere; }
.published-reference .content-block { margin-block:26px; }
.published-reference .content-block > h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.published-reference .content-block > p { max-width:72ch; color:var(--ink-2); font:400 18px/1.65 "Source Serif 4",Georgia,serif; text-wrap:pretty; }
.published-reference [id] { scroll-margin-top:120px; }
.published-reference .content-block--next-step { padding:15px 17px; border:1px solid var(--accent); border-radius:6px; background:var(--accent-2); }
.published-reference .content-block--next-step > h2 { margin:0 0 6px; font-size:16px; }
.published-reference .content-block--next-step > p { margin:0; color:var(--ink-2); font:400 14px/1.55 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--next-step > a { display:inline-flex; margin-top:10px; color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:underline; text-underline-offset:3px; }
.published-reference .content-block--next-step > a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.content-block--quick-facts { margin-bottom:26px; }
.reference-brief { overflow:hidden; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.reference-brief__head { display:flex; align-items:center; flex-wrap:wrap; gap:9px; padding:12px 18px; border-bottom:1px solid var(--rule-2); background:var(--surface-2); }
.reference-brief__head h2 { margin:0; color:var(--ink); font:600 13.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.02em; }
.reference-brief__head-meta { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; gap:8px 12px; margin-left:auto; }
.reference-brief__head-meta > span:last-child { color:var(--ink-3); font:400 12px/1 "IBM Plex Sans",sans-serif; }
.reference-brief__answer { padding:13px 18px; margin:0; }
.reference-brief__facts { display:grid; grid-template-columns:repeat(auto-fit,minmax(215px,1fr)); margin:0; }
.reference-brief__fact { min-width:0; display:flex; flex-direction:column; gap:6px; padding:13px 18px; border-bottom:1px solid var(--rule-2); border-right:1px solid var(--rule-2); }
.reference-brief__fact--statement { grid-column:1 / -1; }
.reference-brief__fact-pair { display:flex; flex-direction:column; gap:6px; margin:0; }
.reference-brief__fact-pair dt { color:var(--ink-3); font:400 12.5px/1.35 "IBM Plex Sans",sans-serif; }
.reference-brief__fact-pair dd { display:flex; flex-direction:column; gap:6px; margin:0; overflow-wrap:anywhere; }
.reference-brief__facts strong { color:var(--ink); font:600 17px/1.25 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; }
.reference-brief__fact-statement { max-width:88ch; margin:0; color:var(--ink); font:400 15px/1.5 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.reference-brief__fact-meta { min-width:0; display:flex; flex-direction:column; gap:6px; overflow-wrap:anywhere; }
.reference-brief__fact-meta > span,.reference-brief__fact-meta small,.reference-brief__fact-meta a { color:var(--ink-2); font:400 12px/1.45 "IBM Plex Sans",sans-serif; }
.reference-brief__fact-meta a { color:var(--accent); }
.reference-brief__evidence { min-width:0; }
.reference-brief__evidence summary { display:list-item; min-height:24px; color:var(--accent); cursor:pointer; font:400 12px/1.45 "IBM Plex Sans",sans-serif; }
.reference-brief__evidence summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-brief__evidence-content { display:grid; gap:6px; margin-top:6px; overflow-wrap:anywhere; }
.reference-published-ladder { margin-bottom:30px; padding:10px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); }
.reference-published-ladder ol { display:flex; align-items:stretch; flex-wrap:wrap; gap:6px; margin:0; padding:0; list-style:none; }
.reference-published-ladder li { flex:1 1 130px; min-width:0; }
.reference-published-ladder li > a,.reference-published-ladder li > span { display:flex; align-items:center; gap:8px; padding:9px 11px; color:var(--ink); text-decoration:none; border:1px solid var(--rule-2); border-radius:5px; transition:background .15s,border-color .15s; }
.reference-published-ladder li.is-current > a { border-color:var(--accent); background:var(--accent); color:#fff; }
.reference-published-ladder li.is-unavailable > span { border-style:dashed; background:var(--surface-2); color:var(--ink-3); cursor:default; }
.reference-published-ladder li.is-unavailable small { color:var(--ink-3); }
.reference-published-ladder a:hover { border-color:var(--accent); background:var(--accent-2); color:var(--accent); }
.reference-published-ladder strong { display:block; font:600 13.5px/1.15 "IBM Plex Sans",sans-serif; }
.reference-published-ladder small { display:block; margin-top:2px; font:400 11px/1.2 "IBM Plex Sans",sans-serif; color:var(--ink-3); }
.reference-published-ladder svg { flex:none; }
.reference-published-ladder--mini { padding:14px; }
.reference-published-ladder--mini > p { margin:0 0 12px; color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.reference-published-ladder--mini ol { flex-direction:column; }
.reference-published-ladder--mini li { flex:auto; }
.reference-published-ladder--mini li > a,.reference-published-ladder--mini li > span { gap:10px; padding:7px 0; border:0; }
.reference-published-ladder--mini li.is-current > a { background:transparent; color:var(--accent); }
.reference-published-ladder--mini strong { font-weight:500; line-height:1.2; }
.reference-published-ladder--mini .is-current strong { font-weight:600; }
.reference-published-ladder__dot { flex:none; width:9px; height:9px; border-radius:50%; box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--rule); background:var(--rule); }
.is-current .reference-published-ladder__dot { background:var(--accent); }
.reference-published-ladder--band .is-current small { color:inherit; opacity:.72; }
/* Remove the mock's fixed third-step current state in release country hubs. */
.published-reference .reference-country-ladder li:nth-child(3) > * { border-color:var(--rule); background:var(--surface); }
.published-reference .reference-country-ladder li > * > i { background:var(--rule); }
.published-reference .reference-country-ladder li:nth-child(3) .reference-country-ladder__icon { border-color:var(--rule); background:var(--rule-2); color:var(--ink-2); }
.published-reference .reference-country-ladder li.is-unavailable > span { border-style:dashed; background:var(--surface-2); color:var(--ink-3); cursor:default; }
.published-reference .reference-country-ladder li.is-unavailable b { color:var(--ink-3); }
.published-reference .reference-country-ladder li.is-unavailable .reference-country-ladder__icon { color:var(--ink-3); }
.reference-country-section-cards__empty { grid-column:1/-1; padding:14px 16px; margin:0; border:1px dashed var(--rule); border-radius:6px; color:var(--ink-3); font:400 13px/1.45 "IBM Plex Sans",sans-serif; }
/* Source auto-fit minima are capped by the available column at 320px. */
.reference-country-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,310px),1fr)); }
.reference-country-section-cards,.reference-country-parameters dl { grid-template-columns:repeat(auto-fit,minmax(min(100%,272px),1fr)); }
.reference-country-summary__fit { grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr)); }
@media (max-width:620px) { .reference-shared-head h1 { font-size:30px; }.reference-published-ladder--band li { flex-basis:100%; } }

/* F3 Europe FAQ and source cards — structure follows the accepted reference. */
.reference-europe .reference-europe__faq,
.reference-europe .reference-europe__sources { margin:0 0 38px; }
.reference-europe .reference-europe__faq > h2,
.reference-europe .reference-europe__sources h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.reference-europe .reference-europe__faq > h2 { margin-bottom:14px; }

/* TASK-RELOCANT-049 — keep the published shell short and release-aware. */
.site-header { position:sticky; top:0; z-index:60; }
.site-header__inner { display:flex; align-items:center; flex-wrap:nowrap; gap:clamp(8px,1.1vw,16px); min-height:0; padding-block:8px; }
.brand { width:auto; height:auto; gap:8px; flex:none; white-space:nowrap; }
.brand__reference-mark { width:29px; height:29px; }
.brand__reference-copy { flex-direction:row; align-items:center; }
.brand__reference-copy > span:first-child { font-size:15px; }
.brand__reference-copy > span:only-child { margin:0; color:var(--ink); font:700 15px/1 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; text-transform:none; }
.site-search { display:block; flex:1 1 220px; min-width:120px; max-width:340px; }
.site-search input { min-height:44px; padding-block:9px; }
.site-search button { width:1px; min-width:0; min-height:0; padding:0; opacity:0; }
.site-nav { display:flex; align-items:center; flex:none; flex-wrap:nowrap; gap:2px; min-width:0; white-space:nowrap; }
.site-nav a { padding:8px 7px; font-size:12px; }
.theme-toggle { display:grid; width:44px; height:44px; flex:none; place-items:center; padding:0; }
.mobile-menu { display:none; flex:none; }
.mobile-menu summary { width:44px; height:44px; }
.mobile-menu nav { z-index:61; max-width:calc(100vw - 32px); max-height:min(70vh,560px); overflow:auto; }
.mobile-menu a { min-height:40px; }

.site-footer__grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.site-footer__grid > div { min-width:0; }
.site-footer__grid p { max-width:34ch; margin:0; color:var(--ink-2); font:400 12.5px/1.5 "IBM Plex Sans",sans-serif; }
.site-footer__grid .site-footer__updated { margin-top:10px; color:var(--ink-3); font-size:11.5px; }
.site-footer__bottom { padding-block:14px 18px; }

.reference-home__catalog-link { margin:18px 0 0; text-align:right; }
.reference-home__catalog-link a { color:var(--accent); font:500 13px/1.3 "IBM Plex Sans",sans-serif; text-decoration:none; }
.reference-home__catalog-link a:hover { text-decoration:underline; text-underline-offset:3px; }
.reference-home__popular { margin-top:28px; }
.reference-country-catalog { margin-top:28px; }
.reference-countries__intro { padding:10px 0 0; }
.reference-countries__intro > p:first-child { margin:0 0 5px; color:var(--ink-3); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.reference-countries__intro h1 { margin:0; color:var(--ink); font:600 clamp(30px,3.4vw,46px)/1.1 "Source Serif 4",Georgia,serif; letter-spacing:-.02em; }
.reference-countries__intro > p:last-child { margin:10px 0 0; color:var(--ink-2); font-size:14px; }
.reference-country-catalog__tools { display:flex; align-items:center; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.reference-country-catalog__tools h2 { margin:0 auto 0 0; color:var(--ink); font:600 23px/1.2 "Source Serif 4",Georgia,serif; }
.reference-country-catalog__search { display:flex; align-items:center; gap:8px; flex:1 1 300px; max-width:520px; }
.reference-country-catalog__search input { width:100%; min-width:0; min-height:42px; padding:9px 12px; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink); font:400 14px/1.2 "IBM Plex Sans",sans-serif; }
.reference-country-catalog__search button { min-height:42px; padding:8px 12px; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink-2); cursor:pointer; font:500 12px/1 "IBM Plex Sans",sans-serif; }
.reference-country-catalog__search[hidden],.reference-country-catalog__views[hidden],.reference-country-catalog__search button[hidden],.reference-country-card[hidden],.reference-country-catalog__empty[hidden] { display:none; }
.reference-country-catalog__views { display:flex; gap:4px; padding:3px; border:1px solid var(--rule); border-radius:6px; background:var(--surface-2); }
.reference-country-catalog__views button { min-height:34px; padding:7px 10px; border:0; border-radius:4px; background:transparent; color:var(--ink-2); cursor:pointer; font:500 12px/1 "IBM Plex Sans",sans-serif; }
.reference-country-catalog__views button[aria-pressed="true"] { background:var(--surface); color:var(--accent); box-shadow:0 1px 3px rgb(20 30 50 / 12%); }
.reference-country-catalog__views button:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-country-catalog__group { grid-column:1/-1; margin:14px 0 0; padding-bottom:8px; border-bottom:1px solid var(--rule-2); color:var(--ink); font:600 18px/1.3 "Source Serif 4",Georgia,serif; }
.reference-country-catalog__group:first-child { margin-top:0; }
.reference-country-catalog__count { flex:none; margin:0; color:var(--ink-3); font:500 11px/1 "IBM Plex Mono",monospace; }
.reference-country-grid--compact { grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); align-items:start; }
.reference-country-card--compact { min-height:68px; padding:12px; }
.reference-country-card--compact .reference-country-card__head { align-items:center; }
.reference-country-card--compact h3 { font-size:15px; }
.reference-country-catalog__empty { padding:14px 16px; margin:14px 0 0; border:1px dashed var(--rule); border-radius:6px; color:var(--ink-3); font:400 13px/1.45 "IBM Plex Sans",sans-serif; }
.reference-a7-up { display:flex; flex-wrap:wrap; gap:8px 18px; margin:14px 0 26px; }
.reference-a7-up a { color:var(--accent); font:500 13px/1.4 "IBM Plex Sans",sans-serif; text-decoration:none; }
.reference-a7-up a:hover { text-decoration:underline; text-underline-offset:3px; }
.reference-a7-related { margin:30px 0 0; padding-top:18px; border-top:1px solid var(--rule-2); }
.reference-a7-related h2 { margin:0 0 12px; color:var(--ink); font:600 20px/1.25 "Source Serif 4",Georgia,serif; }
.site-metrics__table-wrap { max-width:100%; margin-top:24px; }
.site-metrics__table { width:100%; table-layout:fixed; border-collapse:collapse; color:var(--ink-2); font:400 14px/1.5 "IBM Plex Sans",sans-serif; }
.site-metrics__table th,.site-metrics__table td { min-width:0; padding:13px 14px; border-bottom:1px solid var(--rule-2); text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.site-metrics__table thead th { color:var(--ink-3); font:600 10px/1.2 "IBM Plex Mono",monospace; letter-spacing:.06em; text-transform:uppercase; }
.site-metrics__table thead th:first-child { width:22%; }
.site-metrics__table thead th:nth-child(2) { width:48%; }
.site-metrics__table thead th:last-child { width:30%; }
.site-metrics__table tbody th { color:var(--ink); font-weight:600; }
.site-metrics__table a,.site-metrics-catalog-link a { color:var(--accent); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.site-metrics-catalog-link { margin:26px 0 0; padding-top:18px; border-top:1px solid var(--rule-2); color:var(--ink-2); font-size:14px; line-height:1.55; }
@media (max-width:600px) {
  .site-metrics__table thead { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
  .site-metrics__table,.site-metrics__table tbody,.site-metrics__table tr,.site-metrics__table th,.site-metrics__table td { display:block; width:100%; }
  .site-metrics__table tr { margin:0 0 12px; padding:4px 0; border:1px solid var(--rule-2); border-radius:6px; background:var(--surface); }
  .site-metrics__table th,.site-metrics__table td { display:grid; grid-template-columns:minmax(5.5rem, .34fr) minmax(0, 1fr); gap:10px; padding:9px 11px; border:0; }
  .site-metrics__table th::before,.site-metrics__table td::before { content:attr(data-label); color:var(--ink-3); font:600 10px/1.4 "IBM Plex Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
  .site-metrics__table tbody th { text-align:left; }
}
.reference-a7-related ul { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0; list-style:none; }
.reference-a7-related li a { display:inline-flex; min-height:36px; align-items:center; padding:7px 11px; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink-2); font:500 12.5px/1.3 "IBM Plex Sans",sans-serif; text-decoration:none; }
.reference-a7-related li a:hover { border-color:var(--accent); color:var(--accent); }

@media (max-width:1024px) {
  .site-nav { display:none; }
  .mobile-menu { display:block; }
}
@media (max-width:767px) {
  .site-footer__grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 18px; }
  .reference-country-catalog__tools { align-items:stretch; }
  .reference-country-catalog__tools h2 { width:100%; }
  .reference-country-catalog__views { width:max-content; max-width:100%; }
}
@media (max-width:620px) {
  .container,.page-shell { padding-inline:16px; }
  .site-header__inner { display:grid; grid-template-columns:auto minmax(0,1fr) 44px 44px; grid-template-areas:"brand search theme menu"; align-items:center; gap:6px; min-height:55px; padding-block:5px; }
  .brand { grid-area:brand; width:auto; min-width:0; }
  .brand__reference-copy > span:first-child { font-size:14px; }
  .site-search { grid-area:search; width:100%; min-width:0; max-width:none; }
  .site-search input { min-height:42px; padding-left:32px; font-size:12px; }
  .theme-toggle { grid-area:theme; width:44px; height:44px; }
  .mobile-menu { grid-area:menu; }
  .mobile-menu summary { width:44px; height:44px; }
  .site-footer__grid { grid-template-columns:1fr; gap:20px; padding-block:26px 20px; }
  .site-footer__grid nav { gap:7px; }
  .reference-home__catalog-link { margin-top:14px; }
  .reference-country-catalog__tools { gap:10px; }
  .reference-country-catalog__search { flex-basis:100%; max-width:none; }
  .reference-country-catalog__count { width:100%; }
}
.reference-europe__faq-item:first-of-type { border-radius:7px 7px 0 0; }

/* B1 section cards follow the 272px source grid without repeating ladder metadata. */
.published-reference .content-block--section-cards { margin-bottom:38px; }
.published-reference .content-block--section-cards > h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.published-reference .content-block--section-cards > p { max-width:74ch; margin:0 0 16px; color:var(--ink-3); font:400 14px/1.5 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--section-cards > ul { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,272px),1fr)); gap:14px; padding:0; margin:0; list-style:none; }
.published-reference .content-block--section-cards li { display:flex; min-width:0; padding:0; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); transition:transform .15s,border-color .15s,box-shadow .15s; }
.published-reference .content-block--section-cards li:hover,
.published-reference .content-block--section-cards li:focus-within { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }
.published-reference .content-block--section-cards li > a { display:flex; flex:1; align-items:center; box-sizing:border-box; min-height:66px; padding:18px; color:var(--ink); font:600 16.5px/1.3 "IBM Plex Sans",sans-serif; text-decoration:none; text-wrap:pretty; }
.published-reference .content-block--section-cards li > a:hover { color:var(--accent); }
.published-reference .content-block--section-cards li > a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.published-reference .content-block--section-cards__label { display:block; padding:18px; color:var(--ink-3); font:500 15px/1.4 "IBM Plex Sans",sans-serif; }

/* B1 release cards keep optional facts sparse when the release has no evidence. */
.published-reference .content-block--section-cards li > .content-block--section-cards__link { display:flex; flex:1; flex-direction:column; align-items:stretch; justify-content:flex-start; box-sizing:border-box; min-height:66px; padding:18px; color:var(--ink); text-decoration:none; }
.published-reference .content-block--section-cards__head { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.published-reference .content-block--section-cards__icon { display:flex; flex:none; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }
.published-reference .content-block--section-cards__copy { display:block; flex:1; min-width:0; }
.published-reference .content-block--section-cards__title { display:block; color:var(--ink); font:600 16.5px/1.3 "IBM Plex Sans",sans-serif; text-wrap:pretty; overflow-wrap:anywhere; }
.published-reference .content-block--section-cards__description { display:-webkit-box; overflow:hidden; margin-top:4px; color:var(--ink-3); font:400 13.5px/1.45 "IBM Plex Sans",sans-serif; text-wrap:pretty; overflow-wrap:anywhere; -webkit-box-orient:vertical; -webkit-line-clamp:3; }
.published-reference .content-block--section-cards__meta { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,140px),1fr)); gap:12px; padding-top:12px; margin-top:14px; border-top:1px solid var(--rule-2); }
.published-reference .content-block--section-cards__meta > span { display:flex; flex-direction:column; gap:5px; min-width:0; }
.published-reference .content-block--section-cards__meta-label { color:var(--ink-3); font:600 9.5px/1 "IBM Plex Sans",sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.published-reference .content-block--section-cards__meta-value { color:var(--ink); font:500 14px/1.3 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.published-reference .content-block--section-cards li { display:block; padding:0; border:0; background:none; box-shadow:none; }
.published-reference .content-block--section-cards__card { height:100%; padding:18px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); transition:border-color .15s,transform .15s,box-shadow .15s; }
.published-reference .content-block--section-cards li:hover .content-block--section-cards__card,
.published-reference .content-block--section-cards li:focus-within .content-block--section-cards__card { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); transform:translateY(-2px); }
.published-reference .content-block--section-cards__link { display:block; min-height:0; padding:0; color:var(--ink); text-decoration:none; }
.published-reference .content-block--section-cards__link:focus-visible { outline:2px solid var(--accent); outline-offset:4px; border-radius:3px; }
.published-reference .content-block--section-cards__facts { padding-top:12px; margin-top:14px; border-top:1px solid var(--rule-2); }
.published-reference .content-block--section-cards__facts h3 { margin:0 0 7px; color:var(--ink-3); font:600 9.5px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:.09em; text-transform:uppercase; }
.published-reference .content-block--section-cards__facts > ul { display:grid; gap:9px; padding:0; margin:0; list-style:none; }
.published-reference .content-block--section-cards__facts > ul > li { padding:0; border:0; background:none; box-shadow:none; }
.published-reference .content-block--section-cards__facts > ul > li:hover { border:0; box-shadow:none; transform:none; }
.published-reference .content-block--section-cards__facts p { margin:0; color:var(--ink-2); font:400 13.5px/1.5 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference .content-block--section-cards__scope,
.published-reference .content-block--section-cards__action { margin-top:3px!important; color:var(--ink-3)!important; font-size:12px!important; }
.published-reference .content-block--section-cards__facts dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr)); gap:12px 18px; padding:0; margin:0; border:0; }
.published-reference .content-block--section-cards__facts dl > div { display:grid; align-content:start; gap:4px; min-width:0; }
.published-reference .content-block--section-cards__facts dt { color:var(--ink-3); font:600 9.5px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.published-reference .content-block--section-cards__facts dd { margin:0; color:var(--ink); font:500 13.5px/1.4 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference .content-block--section-cards__evidence { display:flex; flex-wrap:wrap; gap:4px 9px; margin-top:5px; color:var(--ink-3); font:400 11px/1.4 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--section-cards__evidence a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; overflow-wrap:anywhere; }
.published-reference .content-block--section-cards__legacy-duration { margin:0; color:var(--ink); font:500 13.5px/1.4 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--section-cards__legacy-duration span { margin-right:5px; color:var(--ink-3); font:600 9.5px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.published-reference .content-block--section-cards__difficulty { display:flex; flex-wrap:wrap; align-items:center; gap:10px; padding-top:12px; margin-top:14px; border-top:1px solid var(--rule-2); }
.published-reference .content-block--section-cards__difficulty-head { display:flex; flex:1; flex-wrap:wrap; gap:6px; align-items:baseline; color:var(--ink-3); font:500 12.5px/1.3 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--section-cards__difficulty-head strong { color:var(--ink); font-weight:600; }
.published-reference .content-block--section-cards__scale { display:flex; flex:none; gap:3px; }
.published-reference .content-block--section-cards__scale i { display:block; width:15px; height:5px; border-radius:1px; background:var(--rule); }
.published-reference .content-block--section-cards__scale i.is-active { background:var(--accent); }
.published-reference .content-block--section-cards__difficulty-evidence { flex-basis:100%; padding:0; margin:0; list-style:none; color:var(--ink-3); font:400 11.5px/1.45 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--section-cards__difficulty-evidence .content-block--section-cards__evidence { margin-top:2px; }
.published-reference .content-block--section-cards__description { display:block; overflow:visible; -webkit-line-clamp:unset; }
@media (max-width:620px) {
  .published-reference .content-block--section-cards__card { padding:16px 14px; }
}

/* P4 stage/node blocks follow the source card and divided-condition patterns. */
.published-reference[data-page-family="stage"] .reference-stage__journey { margin-bottom:30px; }
.published-reference[data-page-family="stage"] .reference-stage__journey .reference-published-ladder--band { margin-bottom:0; }
.published-reference[data-page-family="stage"] .content-block--requirements > table { width:100%; table-layout:fixed; border:1px solid var(--rule); border-spacing:0; border-radius:7px; background:var(--surface); }
.published-reference[data-page-family="stage"] .content-block--requirements thead { background:var(--surface-2); }
.published-reference[data-page-family="stage"] .content-block--requirements th,
.published-reference[data-page-family="stage"] .content-block--requirements td { padding:12px 14px; border-bottom:1px solid var(--rule-2); color:var(--ink-2); font:400 13px/1.45 "IBM Plex Sans",sans-serif; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.published-reference[data-page-family="stage"] .content-block--requirements thead th { color:var(--ink-3); font:600 9.5px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.published-reference[data-page-family="stage"] .content-block--requirements tbody th[scope="row"] { color:var(--ink); font-weight:500; }
.published-reference[data-page-family="stage"] .content-block--requirements tbody tr:last-child > * { border-bottom:0; }
.published-reference[data-page-family="stage"] .content-block--requirements td a { color:var(--accent); }
@media (max-width:620px) {
  .published-reference[data-page-family="stage"] .content-block--requirements th,
  .published-reference[data-page-family="stage"] .content-block--requirements td { padding:9px 7px; font-size:12px; }
  .published-reference[data-page-family="stage"] .content-block--requirements thead th { font-size:9px; }
}

/* Shared reference presentation for published FAQ and source blocks. */
.reference-content__faq,
.reference-content__sources { margin:0 0 38px; }
.reference-content__faq > h2,
.reference-content__sources h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.reference-content__faq-item { border-bottom:1px solid var(--rule-2); background:var(--surface); }
.reference-content__faq-item:first-of-type { overflow:hidden; border:1px solid var(--rule); border-bottom-color:var(--rule-2); border-radius:7px 7px 0 0; }
.reference-content__faq-item:first-of-type:last-of-type { border-bottom:1px solid var(--rule); border-radius:7px; }
.reference-content__faq-item:not(:first-of-type) { border-inline:1px solid var(--rule); }
.reference-content__faq-item:last-of-type:not(:first-of-type) { border-bottom:1px solid var(--rule); border-radius:0 0 7px 7px; }
.reference-content__faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:14px; box-sizing:border-box; width:100%; padding:15px 18px; color:var(--ink); font:600 16px/1.4 "IBM Plex Sans",sans-serif; text-align:left; text-wrap:pretty; list-style:none; cursor:pointer; }
.reference-content__faq-item summary::-webkit-details-marker { display:none; }
.reference-content__faq-item summary::marker { content:""; }
.reference-content__faq-item summary:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.reference-content__faq-question svg { flex:none; color:var(--ink-2); transition:transform .16s ease; }
.reference-content__faq-item[open] .reference-content__faq-question svg { transform:rotate(180deg); }
.reference-content__faq-answer { max-width:68ch; margin:0; padding:0 18px 16px; color:var(--ink-2); font:400 15px/1.6 "Source Serif 4",Georgia,serif; overflow-wrap:anywhere; }
.reference-content__citations { display:flex; gap:6px; padding:0 18px 15px; margin:-5px 0 0; }
.reference-content__citations a { color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; }
.reference-content__citations a:hover { text-decoration:underline; }
.reference-content__sources-heading { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:6px; }
.reference-content__sources-heading h2 { margin:0; }
.reference-content__sources-heading > span { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid var(--ok); border-radius:3px; background:var(--ok-bg); color:var(--ok); font:500 11.5px/1 "IBM Plex Sans",sans-serif; }
.reference-content__sources-heading > span svg { flex:none; }
.reference-content__sources-intro { max-width:74ch; margin:0 0 16px; color:var(--ink-3); font:400 14px/1.5 "IBM Plex Sans",sans-serif; }
.published-reference .content-block > p.reference-content__sources-intro { max-width:74ch; margin:0 0 16px; color:var(--ink-3); font:400 14px/1.5 "IBM Plex Sans",sans-serif; }
.reference-content__source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:12px; padding:0; margin:0; list-style:none; }
.reference-content__source-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.reference-content__source-kind { display:flex; align-items:center; gap:8px; padding:10px 15px; border-bottom:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-2); }
.reference-content__source-kind svg { flex:none; }
.reference-content__source-kind span { color:var(--ink-3); font:600 9.5px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.reference-content__source-body { flex:1; min-width:0; padding:14px 15px; }
.reference-content__source-body h3 { margin:0; color:var(--ink); font:600 15.5px/1.35 "IBM Plex Sans",sans-serif; text-wrap:pretty; overflow-wrap:anywhere; }
.reference-content__source-body p { margin:7px 0 0; color:var(--ink-2); font:400 14px/1.55 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.reference-content__source-body p span { color:var(--ink-3); }
.reference-content__source-footer { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:11px 15px; border-top:1px solid var(--rule-2); }
.reference-content__source-footer dl { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; padding:0; margin:0; }
.published-reference .reference-content__source-footer dl { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; gap:6px 10px; }
.published-reference .reference-content__source-footer dl > div:first-child { grid-column:1/-1; }
.reference-content__source-footer dl > div { display:inline-flex; align-items:baseline; gap:4px; min-width:0; }
.reference-content__source-footer dt,
.reference-content__source-footer dd { color:var(--ink-3); font:400 11.5px/1.3 "IBM Plex Mono",monospace; overflow-wrap:anywhere; }
.reference-content__source-footer dd { margin:0; }
.published-reference .reference-content__source-footer dl > div { min-width:0; }
.reference-content__source-status { display:inline-flex; align-items:center; gap:4px; padding:3px 5px; border:1px solid var(--rule); border-radius:3px; background:var(--surface-2); color:var(--ink-2)!important; }
.reference-content__source-status.is-current { border-color:var(--ok); background:var(--ok-bg); color:var(--ok)!important; }
.reference-content__source-status.is-pending { border-color:var(--warn); background:var(--warn-bg); color:var(--warn)!important; }
.reference-content__source-status.is-stale { border-color:var(--danger); background:var(--danger-bg); color:var(--danger)!important; }
.reference-content__source-footer > a { display:inline-flex; align-items:center; gap:5px; max-width:100%; margin-inline-start:auto; color:var(--accent); font:400 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; overflow-wrap:anywhere; }
.reference-content__source-footer > a:hover { text-decoration:underline; }
.reference-content__source-footer > a svg { flex:none; }
.reference-country-parameters dt small,
.reference-country-parameters dd small { display:block; margin-top:4px; color:var(--ink-3); font:400 11.5px/1.35 "IBM Plex Sans",sans-serif; }
.reference-country-parameters dt,
.reference-country-parameters dd { min-width:0; overflow-wrap:anywhere; }
@media (max-width:720px) {
}
@media (max-width:620px) {
  .reference-content__faq > h2,
  .reference-content__sources h2 { font-size:22px; }
  .reference-content__faq-item summary,
  .reference-content__faq-answer,
  .reference-content__citations { padding-inline:14px; }
  .reference-content__source-footer { align-items:flex-start; flex-direction:column; }
  .reference-content__source-footer dl { gap:8px; }
  .reference-content__source-footer > a { margin-inline-start:0; }
}
@media (prefers-reduced-motion:reduce) {
  .published-reference .content-block--section-cards li { transition:none; }
  .published-reference .content-block--section-cards li:hover,
  .published-reference .content-block--section-cards li:focus-within { transform:none; }
}

/* P5 program blocks follow the original answer and source components.
   Reference: Справочник иммиграции.dc.html, 872–936 and 1303–1358. */
.published-reference[data-program-presentation="reference-answer"] .content-block { margin-block:38px; }
.published-reference[data-program-presentation="reference-answer"] .content-block > h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.published-reference .content-block--procedure { margin-block:38px; }
.published-reference .content-block--procedure > h2 { margin:0 0 18px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.published-reference .content-block--procedure > ol { counter-reset:reference-procedure-step; padding:0; margin:0; list-style:none; }
.published-reference .content-block--procedure > ol > li { position:relative; display:grid; grid-template-columns:28px minmax(0,1fr); column-gap:15px; padding:0 0 20px; }
.published-reference .content-block--procedure > ol > li::before { display:grid; grid-column:1; grid-row:1; width:26px; height:26px; place-items:center; border:1px solid var(--accent); border-radius:50%; background:var(--accent-2); color:var(--accent); counter-increment:reference-procedure-step; content:counter(reference-procedure-step); font:600 12px/1 "IBM Plex Mono",monospace; font-variant-numeric:tabular-nums; }
.published-reference .content-block--procedure > ol > li:not(:last-child)::after { position:absolute; top:28px; bottom:0; left:13px; width:1px; background:var(--rule); content:""; }
.published-reference .content-block--procedure > ol > li > * { grid-column:2; min-width:0; }
.published-reference .content-block--procedure > ol > li > p { max-width:68ch; margin:6px 0 0; color:var(--ink-2); font:400 15.5px/1.58 "Source Serif 4",Georgia,serif; text-wrap:pretty; }
.published-reference .content-block--procedure > ol > li > .source-citations { display:flex; gap:6px; margin-top:8px; }
.published-reference .content-block--procedure .source-citations a { color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; }
.published-reference .content-block--procedure .source-citations a:hover { text-decoration:underline; }
.published-reference .content-block--procedure .source-citations a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.published-reference .content-block--procedure .procedure-step__heading { display:flex; align-items:baseline; flex-wrap:wrap; gap:7px 10px; min-width:0; }
.published-reference .content-block--procedure .procedure-step__heading > h3 { margin:2px 0 0; color:var(--ink); font:600 16px/1.3 "IBM Plex Sans",sans-serif; }
.published-reference .content-block--procedure .procedure-step__badge { display:inline-flex; align-items:center; gap:5px; max-width:100%; padding:3px 8px; border:1px solid var(--rule); border-radius:3px; font:500 11.5px/1.3 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference .content-block--procedure .procedure-step__badge--duration { background:var(--rule-2); color:var(--ink-2); font-variant-numeric:tabular-nums; }
.published-reference .content-block--procedure .procedure-step__badge--warning { border-color:var(--warn); background:var(--warn-bg); color:var(--warn); font-size:11px; font-weight:600; }
.published-reference .content-block--procedure .procedure-step__warning-note { max-width:68ch; padding:8px 11px; margin-top:8px; border-left:2px solid var(--warn); background:var(--warn-bg); color:var(--ink-2); font:400 13px/1.5 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference .content-block--procedure .procedure-step__evidence { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 10px; margin-top:6px; color:var(--ink-3); font:400 11.5px/1.45 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference .content-block--procedure .procedure-step__evidence p { max-width:none; margin:0; color:inherit; font:inherit; }
.published-reference .content-block--procedure .procedure-step__evidence ul { flex-basis:100%; padding:0 0 0 16px; margin:0; }
.published-reference .content-block--procedure .procedure-step__evidence a { color:var(--accent); text-decoration:underline; text-underline-offset:2px; }
.published-reference .content-block--procedure .procedure-step__condition { color:var(--warn); font-weight:600; }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements a,
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements a { color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements a:hover { text-decoration:underline; }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements > table { width:100%; table-layout:fixed; border:1px solid var(--rule); border-spacing:0; border-radius:7px; background:var(--surface); }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements thead { background:var(--surface-2); }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements th,
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements td { padding:12px 14px; border-bottom:1px solid var(--rule-2); color:var(--ink-2); font:400 13px/1.45 "IBM Plex Sans",sans-serif; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements thead th { color:var(--ink-3); font:600 9.5px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:.08em; text-transform:uppercase; }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements tbody th[scope="row"] { color:var(--ink); font-weight:500; }
.published-reference[data-program-presentation="reference-answer"] .content-block--requirements tbody tr:last-child > * { border-bottom:0; }
.reference-requirement-status { display:inline-flex; align-items:center; max-width:100%; padding:3px 8px; border:1px solid var(--rule); border-radius:3px; font:500 11.5px/1.4 "IBM Plex Sans",sans-serif; white-space:normal; }
.reference-requirement-status.is-required { color:var(--ink); background:var(--rule-2); }
.reference-requirement-status.is-conditional { color:var(--warn); background:var(--warn-bg); border-color:var(--warn); }
.reference-requirement-status.is-renewal { color:var(--accent); background:var(--accent-2); border-color:var(--accent); }
.reference-requirement-status.is-not-required { color:var(--ink-3); background:transparent; }
/* Search uses the source header control, Разделы cards and empty-state shell. */
.reference-search { padding-block:40px 54px; }
.reference-search__intro { max-width:74ch; }
.reference-search__intro h1 { max-width:20ch; margin:5px 0 12px; color:var(--ink); font:600 clamp(32px,4vw,42px)/1.16 "Source Serif 4",Georgia,serif; letter-spacing:-.015em; }
.reference-search__intro > p:last-child { margin:0; color:var(--ink-2); font:400 17px/1.6 "Source Serif 4",Georgia,serif; }
.reference-search__form { max-width:760px; margin:25px 0 38px; }
.reference-search__form label { display:block; margin-bottom:8px; color:var(--ink-2); font:500 13px/1.35 "IBM Plex Sans",sans-serif; }
.reference-search__form > div { display:flex; align-items:stretch; gap:8px; }
.reference-search__form > div > span { position:absolute; display:flex; margin:12px 0 0 12px; color:var(--ink-3); pointer-events:none; }
.reference-search__form input { flex:1; min-width:0; padding:10px 12px 10px 36px; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink); font:400 14px/1.3 "IBM Plex Sans",sans-serif; outline-color:var(--accent); }
.reference-search__form button { padding:10px 17px; border:0; border-radius:5px; background:var(--accent); color:var(--color-on-accent); font:600 13.5px/1 "IBM Plex Sans",sans-serif; cursor:pointer; }
.reference-search__form button:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.reference-search__results h2 { margin:0 0 16px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.reference-search__cards { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,272px),1fr)); gap:14px; padding:0; margin:0; list-style:none; }
.reference-search__cards li { min-width:0; }
.reference-search__cards a { display:flex; align-items:flex-start; gap:12px; height:100%; box-sizing:border-box; padding:18px; border:1px solid var(--rule); border-radius:6px; background:var(--surface); box-shadow:0 1px 0 var(--rule-2); color:var(--ink); text-decoration:none; transition:border-color .15s,transform .15s,box-shadow .15s; }
.reference-search__cards a:hover { border-color:var(--accent); box-shadow:0 6px 18px rgba(20,30,50,.09); transform:translateY(-2px); }
.reference-search__cards a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.reference-search__card-icon { display:flex; flex:none; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid var(--rule); border-radius:5px; background:var(--accent-2); color:var(--accent); }
.reference-search__card-title { flex:1; min-width:0; color:var(--ink); font:600 16.5px/1.3 "IBM Plex Sans",sans-serif; text-wrap:pretty; overflow-wrap:anywhere; }
.reference-search__card-arrow { flex:none; margin-top:10px; color:var(--accent); }
.reference-search__empty { display:flex; flex-direction:column; align-items:center; gap:14px; padding:48px 24px; border:1px solid var(--rule); border-radius:7px; background:var(--surface); text-align:center; }
.reference-search__empty > span { display:flex; align-items:center; justify-content:center; width:48px; height:48px; border:1px dashed var(--ink-3); border-radius:50%; color:var(--ink-3); }
.reference-search__empty h3 { margin:0; color:var(--ink); font:600 19px/1.25 "IBM Plex Sans",sans-serif; }
.reference-search__empty p { max-width:52ch; margin:0; color:var(--ink-2); font:400 15px/1.55 "IBM Plex Sans",sans-serif; }
.reference-search__empty a { color:var(--accent); font:500 13px/1.3 "IBM Plex Sans",sans-serif; }
@media (max-width:620px) { .reference-search { padding-block:28px 40px; }.reference-search__form > div { flex-wrap:wrap; }.reference-search__form input { flex-basis:100%; }.reference-search__form button { width:100%; } }
@media (prefers-reduced-motion:reduce) { .reference-search__cards a { transition:none; }.reference-search__cards a:hover { transform:none; } }
.reference-not-found { display:flex; flex-direction:column; align-items:flex-start; gap:18px; padding:44px 0 34px; margin-bottom:40px; border-bottom:1px solid var(--rule); }
.reference-not-found > span { color:var(--rule); font:500 76px/1 "IBM Plex Mono",monospace; letter-spacing:-.04em; }
.reference-not-found h1 { max-width:24ch; margin:0; color:var(--ink); font:600 32px/1.18 "Source Serif 4",Georgia,serif; letter-spacing:-.015em; }
.reference-not-found p { max-width:62ch; margin:0; color:var(--ink-2); font:400 17.5px/1.6 "Source Serif 4",Georgia,serif; }
.reference-not-found > div { display:flex; flex-wrap:wrap; gap:9px; }
.reference-not-found a { display:inline-flex; align-items:center; gap:7px; padding:11px 16px; border:1px solid var(--rule); border-radius:5px; background:var(--surface); color:var(--ink); font:500 13.5px/1 "IBM Plex Sans",sans-serif; text-decoration:none; }
.reference-not-found a:first-child { border-color:var(--accent); background:var(--accent); color:var(--color-on-accent); font-weight:600; }
.reference-not-found a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.published-reference .content-block--risks { margin-block:38px; }
.published-reference .content-block--risks > h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.published-reference .content-block--risks .reference-risk-warning { overflow:hidden; border:1px solid var(--danger); border-radius:7px; background:var(--surface); }
.published-reference .content-block--risks .reference-risk-warning__heading { display:flex; align-items:center; gap:9px; padding:12px 18px; border-bottom:1px solid var(--rule); background:var(--danger-bg); color:var(--danger); font:600 13px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:.03em; }
.published-reference .content-block--risks .reference-risk-warning__heading svg { flex:none; }
.published-reference .content-block--risks .reference-risk-warning__list { padding:0; margin:0; background:var(--surface); list-style:none; }
.published-reference .content-block--risks .reference-risk-warning__item { min-width:0; padding:13px 18px; }
.published-reference .content-block--risks .reference-risk-warning__item + .reference-risk-warning__item { border-top:1px solid var(--rule-2); }
.published-reference .content-block--risks .reference-risk-warning__item h3 { margin:0; color:var(--ink); font:600 15px/1.3 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference .content-block--risks .reference-risk-warning__item > p { max-width:70ch; margin:5px 0 0; color:var(--ink-2); font:400 15px/1.55 "Source Serif 4",Georgia,serif; text-wrap:pretty; overflow-wrap:anywhere; }
.published-reference .content-block--risks .reference-risk-warning__item > .source-citations { display:flex; gap:6px; margin-top:8px; }
.published-reference .content-block--risks .source-citations a { color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; }
.published-reference .content-block--risks .source-citations a:hover { text-decoration:underline; }
.published-reference .content-block--risks .source-citations a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.published-reference[data-program-presentation="reference-answer"] .content-block--faq,
.published-reference[data-program-presentation="reference-answer"] .content-block--sources,
.published-reference[data-program-presentation="reference-faq-sources"] .content-block--faq,
.published-reference[data-program-presentation="reference-faq-sources"] .content-block--sources { margin-bottom:38px; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item { border-bottom:1px solid var(--rule-2); background:var(--surface); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item:first-of-type,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item:first-of-type { overflow:hidden; border:1px solid var(--rule); border-bottom-color:var(--rule-2); border-radius:7px 7px 0 0; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item:first-of-type:last-of-type,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item:first-of-type:last-of-type { border-bottom:1px solid var(--rule); border-radius:7px; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item:not(:first-of-type),
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item:not(:first-of-type) { border-inline:1px solid var(--rule); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item:last-of-type,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item:last-of-type { border-bottom:0; border-radius:0 0 7px 7px; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item:last-of-type:not(:first-of-type),
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item:last-of-type:not(:first-of-type) { border-bottom:1px solid var(--rule); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question { display:flex; align-items:center; justify-content:space-between; gap:14px; box-sizing:border-box; width:100%; padding:15px 18px; color:var(--ink); font:600 16px/1.4 "IBM Plex Sans",sans-serif; text-align:left; text-wrap:pretty; list-style:none; cursor:pointer; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question::-webkit-details-marker,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question::-webkit-details-marker { display:none; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question::marker,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question::marker { content:""; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question:focus-visible,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question svg,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question svg { flex:none; color:var(--ink-2); transition:transform .16s ease; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq-item[open] .reference-program__faq-question svg,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-item[open] .reference-program__faq-question svg { transform:rotate(180deg); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq .source-citations,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq .source-citations { display:flex; gap:6px; padding:0 18px 15px; margin:-5px 0 0; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq .source-citations a,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq .source-citations a { color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__faq .source-citations a:hover,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq .source-citations a:hover { text-decoration:underline; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__sources-heading,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__sources-heading { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__sources-heading h2,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__sources-heading h2 { margin:0; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-grid,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:12px; padding:0; margin:0; list-style:none; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-card,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-kind,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-kind { display:flex; align-items:center; gap:8px; padding:10px 15px; border-bottom:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-2); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-kind svg,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-kind svg { flex:none; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-kind span,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-kind span { color:var(--ink-3); font:600 9.5px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-body,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-body { flex:1; min-width:0; padding:14px 15px; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-body h3,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-body h3 { margin:0; color:var(--ink); font:600 15.5px/1.35 "IBM Plex Sans",sans-serif; text-wrap:pretty; overflow-wrap:anywhere; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-body p,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-body p { margin:7px 0 0; color:var(--ink-2); font:400 14px/1.55 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-body p span,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-body p span { color:var(--ink-3); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:11px 15px; border-top:1px solid var(--rule-2); }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer dl,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer dl { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; padding:0; margin:0; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer dl > div,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer dl > div { display:inline-flex; align-items:baseline; gap:4px; min-width:0; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer dt,
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer dd,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer dt,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer dd { color:var(--ink-3); font:400 11.5px/1.3 "IBM Plex Mono",monospace; overflow-wrap:anywhere; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer dd,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer dd { margin:0; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-status,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-status { display:inline-flex; align-items:center; gap:4px; padding:3px 5px; border:1px solid var(--rule); border-radius:3px; background:var(--surface-2); color:var(--ink-2)!important; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-status.is-current,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-status.is-current { border-color:var(--ok); background:var(--ok-bg); color:var(--ok)!important; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-status.is-pending,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-status.is-pending { border-color:var(--warn); background:var(--warn-bg); color:var(--warn)!important; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-status.is-stale,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-status.is-stale { border-color:var(--danger); background:var(--danger-bg); color:var(--danger)!important; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer > a,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer > a { display:inline-flex; align-items:center; gap:5px; max-width:100%; margin-inline-start:auto; color:var(--accent); font:400 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; overflow-wrap:anywhere; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer > a:hover,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer > a:hover { text-decoration:underline; }
.published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer > a svg,
.published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer > a svg { flex:none; }
.published-reference[data-program-presentation="reference-answer"] .content-block--freshness > dl { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr)); margin:0; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.published-reference[data-program-presentation="reference-answer"] .content-block--freshness > dl > div { min-width:0; padding:12px 15px; border-right:1px solid var(--rule-2); }
.published-reference[data-program-presentation="reference-answer"] .content-block--freshness dt { color:var(--ink-3); font:500 10px/1.2 "IBM Plex Sans",sans-serif; letter-spacing:.07em; text-transform:uppercase; }
.published-reference[data-program-presentation="reference-answer"] .content-block--freshness dd { margin:5px 0 0; color:var(--ink); font:500 13px/1.4 "IBM Plex Sans",sans-serif; }
.published-reference[data-program-presentation="reference-answer"] .content-block--disclaimer { padding:15px 17px; border:1px solid var(--accent); border-radius:6px; background:var(--accent-2); }
.published-reference[data-program-presentation="reference-answer"] .content-block--disclaimer > h2 { margin:0 0 6px; font-size:14.5px; }
.published-reference[data-program-presentation="reference-answer"] .content-block--disclaimer > p { margin:0; color:var(--ink-2); font:400 14px/1.55 "IBM Plex Sans",sans-serif; }
.published-reference[data-program-presentation="reference-answer"] .content-block--disclaimer > a { display:inline-flex; margin-top:8px; color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; }
@media (max-width:620px) {
  .published-reference[data-program-presentation="reference-answer"] .content-block--requirements th,
  .published-reference[data-program-presentation="reference-answer"] .content-block--requirements td { padding:9px 7px; font-size:11.5px; }
  .published-reference[data-program-presentation="reference-answer"] .content-block--requirements thead th { font-size:8.5px; }
  .published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question,
  .published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question,
  .published-reference[data-program-presentation="reference-answer"] .reference-program__faq .source-citations,
  .published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq .source-citations { padding-inline:14px; }
  .published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer,
  .published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer { align-items:flex-start; flex-direction:column; }
  .published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer dl,
  .published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer dl { gap:8px; }
  .published-reference[data-program-presentation="reference-answer"] .reference-program__source-footer > a,
  .published-reference[data-program-presentation="reference-faq-sources"] .reference-program__source-footer > a { margin-inline-start:0; }
}
@media (prefers-reduced-motion:reduce) {
  .published-reference[data-program-presentation="reference-answer"] .reference-program__faq-question svg,
  .published-reference[data-program-presentation="reference-faq-sources"] .reference-program__faq-question svg { transition:none; }
}
.reference-europe__faq-item:last-of-type { border-bottom:0; border-radius:0 0 7px 7px; }
.reference-europe__faq-item { border-bottom:1px solid var(--rule-2); background:var(--surface); }
.reference-europe__faq-item:first-of-type { overflow:hidden; border:1px solid var(--rule); border-bottom-color:var(--rule-2); border-radius:7px 7px 0 0; }
.reference-europe__faq-item:first-of-type:last-of-type { border-bottom:1px solid var(--rule); border-radius:7px; }
.reference-europe__faq-item:not(:first-of-type) { border-inline:1px solid var(--rule); }
.reference-europe__faq-item:last-of-type:not(:first-of-type) { border-bottom:1px solid var(--rule); }
.reference-europe__faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:14px; box-sizing:border-box; width:100%; padding:15px 18px; color:var(--ink); font:600 16px/1.4 "IBM Plex Sans",sans-serif; text-align:left; text-wrap:pretty; list-style:none; cursor:pointer; }
.reference-europe__faq-item summary::-webkit-details-marker { display:none; }
.reference-europe__faq-item summary::marker { content:""; }
.reference-europe__faq-item summary:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.reference-europe__faq-question svg { flex:none; color:var(--ink-2); transition:transform .16s ease; }
.reference-europe__faq-item[open] .reference-europe__faq-question svg { transform:rotate(180deg); }
.reference-europe__faq .source-citations { display:flex; gap:6px; padding:0 18px 15px; margin:-5px 0 0; }
.reference-europe__faq .source-citations a { color:var(--accent); font:500 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; }
.reference-europe__faq .source-citations a:hover { text-decoration:underline; }
.reference-europe__sources-heading { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; margin-bottom:16px; }
.reference-europe .reference-europe__sources-heading h2 { margin:0; }
.reference-europe__sources-heading > span { display:inline-flex; align-items:center; gap:6px; padding:5px 8px; border:1px solid var(--ok); border-radius:3px; background:var(--ok-bg); color:var(--ok); font:500 11.5px/1 "IBM Plex Sans",sans-serif; }
.reference-europe__sources-heading > span svg { flex:none; }
.reference-europe__source-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr)); gap:12px; padding:0; margin:0; list-style:none; }
.reference-europe__source-card { display:flex; flex-direction:column; min-width:0; overflow:hidden; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.reference-europe__source-kind { display:flex; align-items:center; gap:8px; padding:10px 15px; border-bottom:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-2); }
.reference-europe__source-kind svg { flex:none; }
.reference-europe__source-kind span { color:var(--ink-3); font:600 9.5px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:.1em; text-transform:uppercase; }
.reference-europe__source-body { flex:1; min-width:0; padding:14px 15px; }
.reference-europe__source-body h3 { margin:0; color:var(--ink); font:600 15.5px/1.35 "IBM Plex Sans",sans-serif; text-wrap:pretty; overflow-wrap:anywhere; }
.reference-europe__source-body p { margin:7px 0 0; color:var(--ink-2); font:400 14px/1.55 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.reference-europe__source-body p span { color:var(--ink-3); }
.reference-europe__source-footer { display:flex; align-items:center; gap:10px; flex-wrap:wrap; padding:11px 15px; border-top:1px solid var(--rule-2); }
.reference-europe__source-footer dl { display:flex; align-items:center; gap:10px; flex-wrap:wrap; min-width:0; padding:0; margin:0; }
.reference-europe__source-footer dl > div { display:inline-flex; align-items:baseline; gap:4px; min-width:0; }
.reference-europe__source-footer dt,.reference-europe__source-footer dd { color:var(--ink-3); font:400 11.5px/1.3 "IBM Plex Mono",monospace; overflow-wrap:anywhere; }
.reference-europe__source-footer dd { margin:0; }
.reference-europe__source-status { display:inline-flex; align-items:center; gap:4px; padding:3px 5px; border:1px solid var(--rule); border-radius:3px; background:var(--surface-2); color:var(--ink-2)!important; }
.reference-europe__source-status.is-current { border-color:var(--ok); background:var(--ok-bg); color:var(--ok)!important; }
.reference-europe__source-status.is-pending { border-color:var(--warn); background:var(--warn-bg); color:var(--warn)!important; }
.reference-europe__source-status.is-stale { border-color:var(--danger); background:var(--danger-bg); color:var(--danger)!important; }
.reference-europe__source-footer > a { display:inline-flex; align-items:center; gap:5px; max-width:100%; margin-inline-start:auto; color:var(--accent); font:400 12px/1.3 "IBM Plex Mono",monospace; text-decoration:none; overflow-wrap:anywhere; }
.reference-europe__source-footer > a:hover { text-decoration:underline; }
.reference-europe__source-footer > a svg { flex:none; }
@media (max-width:620px) {
  .reference-europe .reference-europe__faq > h2,
  .reference-europe .reference-europe__sources h2 { font-size:22px; }
  .reference-europe__faq-item summary { padding-inline:14px; }
  .reference-europe__faq .source-citations { padding-inline:14px; }
  .reference-europe__source-footer { align-items:flex-start; flex-direction:column; }
  .reference-europe__source-footer dl { gap:8px; }
  .reference-europe__source-footer > a { margin-inline-start:0; }
}
.reference-country-asylum .reference-country-section-cards__description { display:-webkit-box; overflow:hidden; -webkit-box-orient:vertical; -webkit-line-clamp:3; line-clamp:3; }
.reference-country-asylum .reference-country-section-cards__action { display:flex; align-items:center; justify-content:space-between; gap:8px; padding-top:12px; margin-top:14px; border-top:1px solid var(--rule-2); color:var(--accent); font:500 13px/1.25 "IBM Plex Sans",sans-serif; }
.reference-country-asylum .reference-country-section-cards__action svg { flex:none; }
.reference-country-asylum .reference-country-section-cards > a:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }

.reference-catalog-table--profile-conditions table { min-width:1240px; table-layout:fixed; }
.reference-catalog-table--profile-conditions th:first-child { width:12%; }
.reference-catalog-table--profile-conditions th:nth-child(2) { width:10%; }
.reference-catalog-table--profile-conditions th:nth-child(3) { width:12%; }
.reference-catalog-table--profile-conditions th:nth-child(4) { width:20%; }
.reference-catalog-table--profile-conditions th:nth-child(5) { width:10%; }
.reference-catalog-table--profile-conditions th:nth-child(6) { width:12%; }
.reference-catalog-table--profile-conditions th:nth-child(7) { width:12%; }
.reference-catalog-table--profile-conditions th:nth-child(8) { width:12%; }
.reference-catalog-table--profile-conditions td { overflow-wrap:anywhere; vertical-align:top; }
.reference-country-conditions__hint { padding:10px 14px; margin:0; border-bottom:1px solid var(--rule-2); background:var(--surface-2); color:var(--ink-3); font:400 12px/1.45 "IBM Plex Sans",sans-serif; }
.reference-country-conditions__legacy-panel { padding:12px 14px; border-top:1px solid var(--rule-2); color:var(--ink-2); font:400 12px/1.45 "IBM Plex Sans",sans-serif; }
.reference-country-conditions__legacy-panel h3 { margin:0 0 7px; color:var(--ink-3); font:600 12px/1.4 "IBM Plex Sans",sans-serif; }
.reference-country-conditions__legacy-panel h3 a { color:var(--accent); text-decoration:none; }
.reference-country-conditions__legacy-panel h3 a:hover { text-decoration:underline; text-underline-offset:2px; }
.reference-country-conditions__legacy-panel ul { display:grid; gap:6px; padding-left:18px; margin:7px 0 0; }
.reference-country-conditions__legacy-panel li { padding-left:1px; overflow-wrap:anywhere; }
.reference-country-conditions__legacy-panel a,.reference-country-conditions__sources a { color:var(--accent); }
.reference-country-conditions__label { color:var(--ink-3); font-weight:600; }
.reference-country-conditions__scope,.reference-country-conditions__sources { display:block; margin-top:3px; color:var(--ink-3); font-size:11px; line-height:1.4; }
.reference-country-conditions__evidence { margin-top:5px; color:var(--ink-3); font:400 11px/1.35 "IBM Plex Sans",sans-serif; }
.reference-country-conditions__evidence summary { width:max-content; max-width:100%; color:var(--accent); cursor:pointer; }
.reference-country-conditions__evidence summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-country-conditions__evidence ul { display:grid; gap:3px; padding-left:16px; margin:5px 0 0; }
.reference-country-conditions__evidence a { color:var(--accent); overflow-wrap:anywhere; }

@media (max-width:620px) {
  .reference-catalog-table--profile-conditions th:first-child { width:12%; }
  .reference-catalog-table--profile-conditions th,.reference-catalog-table--profile-conditions td { padding:9px 7px; font-size:12px; }
  .reference-country-conditions__hint { padding:9px 11px; }
  .reference-country-conditions__legacy-panel { padding:10px 11px; }
}
.reference-country-ladder li > .reference-country-ladder__card { position:relative; display:grid; align-content:start; gap:6px; min-height:176px; padding:16px 15px 13px; }
.reference-country-ladder__main { display:grid; gap:6px; min-width:0; color:var(--ink); text-decoration:none; }
.reference-country-ladder__main:hover { border-color:transparent; box-shadow:none; color:var(--accent); transform:none; }
.reference-country-ladder__main:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.reference-country-ladder li:hover > .reference-country-ladder__card,.reference-country-ladder li:focus-within > .reference-country-ladder__card { border-color:var(--accent); box-shadow:0 6px 18px rgb(20 30 50 / 9%); }
.reference-country-ladder__sources { align-self:end; margin-top:3px; color:var(--ink-3); font:400 10.5px/1.35 "IBM Plex Sans",sans-serif; }
.reference-country-ladder__sources summary { width:max-content; max-width:100%; color:var(--accent); cursor:pointer; }
.reference-country-ladder__sources summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-country-ladder__sources ul { display:grid; gap:3px; padding-left:16px; margin:5px 0 0; }
.reference-country-ladder__sources a { color:var(--accent); overflow-wrap:anywhere; }
.reference-country-ladder li.is-unavailable > .reference-country-ladder__card { border-style:dashed; background:var(--surface-2); color:var(--ink-3); cursor:default; }
.reference-country-ladder li.is-unavailable:hover > .reference-country-ladder__card,.reference-country-ladder li.is-unavailable:focus-within > .reference-country-ladder__card { border-color:var(--rule); box-shadow:none; }
.reference-country-ladder li.is-unavailable .reference-country-ladder__main:hover { color:var(--ink-3); }
.reference-country-ladder__availability { color:var(--ink-3); font:400 12.5px/1.45 "IBM Plex Sans",sans-serif; }

/* Give standalone navigation and evidence controls room without enlarging inline prose links. */
.reference-country-stage__head > a,
.reference-country-ladder__sources summary,
.published-reference .reference-content__source-footer > a {
  box-sizing:border-box;
  min-height:24px;
  padding-block:4px;
}
.reference-country-ladder__sources ul > li > a { display:inline-flex; align-items:center; min-height:24px; }

/* B6 uses the source reference's section, ledger shell and in-shell total. */
.published-reference .content-block--costs-time { margin-bottom:38px; }
.published-reference .content-block--costs-time > h2 { margin:0 0 14px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.reference-money-ledger { overflow:hidden; border:1px solid var(--rule); border-radius:7px; background:var(--surface); }
.reference-money-ledger__rows { display:grid; grid-template-columns:repeat(auto-fit,minmax(248px,1fr)); }
.reference-money-ledger__row { min-width:0; padding:14px 18px; border-bottom:1px solid var(--rule-2); border-right:1px solid var(--rule-2); }
.reference-money-ledger__pair { display:grid; margin:0; }
.reference-money-ledger__pair dt { color:var(--ink-3); font:400 12.5px/1.4 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.reference-money-ledger__pair dd { display:grid; margin:0; }
.reference-money-ledger__pair strong { margin-top:6px; color:var(--ink); font:600 19px/1.2 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.reference-money-ledger__pair small,.reference-money-ledger__scenario { margin-top:4px; color:var(--ink-3); font:400 12px/1.4 "IBM Plex Sans",sans-serif; }
.reference-money-ledger__scenario { margin:4px 0 0; }
.reference-money-ledger__meta { display:grid; gap:5px; margin-top:10px; color:var(--ink-2); font:400 11.5px/1.4 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.reference-money-ledger__meta a { color:var(--accent); text-underline-offset:2px; }
.reference-money-ledger__total { display:flex; align-items:center; gap:10px; padding:14px 18px; background:var(--accent-2); color:var(--ink); }
.reference-money-ledger__total svg { flex:0 0 17px; width:17px; height:17px; }
.reference-money-ledger__total span { min-width:0; overflow-wrap:anywhere; font:600 15px/1.35 "IBM Plex Sans",sans-serif; font-variant-numeric:tabular-nums; }

/* Compact release-backed profile facts inside country catalog cards. */
.reference-country-card dl.reference-country-card__profile { grid-template-columns:repeat(auto-fit,minmax(118px,1fr)); align-items:start; gap:12px 14px; padding-top:11px; margin:12px 0 0; border-top:1px solid var(--rule-2); }
.reference-country-card__profile-fact { display:grid; align-content:start; min-width:0; }
.reference-country-card__profile-fact > dd { margin:5px 0 0; overflow-wrap:anywhere; }
.reference-country-card .reference-country-card__profile-fact > dd.reference-country-card__evidence { display:block; margin-top:4px; color:var(--ink-3); font:400 10.5px/1.4 "IBM Plex Sans",sans-serif; font-variant-numeric:normal; }
.reference-country-card__evidence summary { display:list-item; min-height:24px; color:var(--accent); cursor:pointer; font:500 10.5px/1.35 "IBM Plex Sans",sans-serif; text-underline-offset:2px; }
.reference-country-card__evidence summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-country-card__evidence-content { display:grid; gap:3px; margin-top:4px; overflow-wrap:anywhere; }
.reference-country-card__sources { display:block; overflow-wrap:anywhere; }
.reference-country-card__sources a { color:var(--accent); text-underline-offset:2px; }
.reference-country-card__more { margin-top:5px; color:var(--ink-2); font:400 11.5px/1.4 "IBM Plex Sans",sans-serif; }
.reference-country-card__more summary { width:max-content; max-width:100%; color:var(--accent); cursor:pointer; text-underline-offset:2px; }
.reference-country-card__more summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-country-card__more ul { display:grid; gap:3px; padding-left:16px; margin:5px 0 0; }
@media (max-width:620px) { .reference-country-card dl.reference-country-card__profile { grid-template-columns:repeat(2,minmax(0,1fr)); gap:11px 10px; } }

/* B15 timeline: match the source reference while keeping time labels factual. */
.content-block--diagram--timeline { min-width:0; margin-block:26px; }
.b15-timeline__title { margin:0 0 6px; color:var(--ink); font:600 23px/1.25 "IBM Plex Sans",sans-serif; letter-spacing:-.01em; }
.b15-timeline__scenario { max-width:70ch; margin:0 0 14px; color:var(--ink-2); font:400 14px/1.5 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.b15-timeline__scenario .b15-timeline__fact { padding:0; border:0; background:transparent; }
.b15-timeline__anchor { min-width:0; padding:12px 14px; margin-bottom:14px; border:1px solid var(--rule); border-radius:5px; background:var(--surface-2); overflow-wrap:anywhere; }
.b15-timeline__anchor > span { color:var(--ink-3); font:600 10px/1 "IBM Plex Mono",monospace; letter-spacing:.09em; text-transform:uppercase; }
.b15-timeline__anchor > p { margin:6px 0 0; color:var(--ink); font:500 14px/1.5 "IBM Plex Sans",sans-serif; }
.b15-timeline__anchor > ul { padding-left:18px; margin:6px 0 0; color:var(--ink-2); font:400 12.5px/1.45 "IBM Plex Sans",sans-serif; }
.b15-timeline__items { display:grid; grid-template-columns:repeat(auto-fit,minmax(168px,1fr)); gap:2px; min-width:0; padding:20px; margin:0; border:1px solid var(--rule); border-radius:7px; background:var(--surface); list-style:none; }
.b15-timeline__items > li { min-width:0; padding-right:14px; overflow-wrap:anywhere; }
.b15-timeline__items > li > i { display:block; height:3px; border-radius:2px; background:var(--rule); }
.b15-timeline__items > li:first-child > i,.b15-timeline__items > li:nth-child(2) > i { background:var(--accent); }
.b15-timeline__items > li:nth-child(3) > i { background:color-mix(in oklab,var(--accent) 55%,var(--rule)); }
.b15-timeline__items > li:nth-child(4) > i { background:color-mix(in oklab,var(--accent) 35%,var(--rule)); }
.b15-timeline__stage { display:block; margin-top:10px; color:var(--ink-3); font:500 11px/1.35 "IBM Plex Sans",sans-serif; }
.b15-timeline__items > li > strong { display:block; margin-top:7px; color:var(--ink); font:600 16px/1.25 "IBM Plex Sans",sans-serif; }
.b15-timeline__fact { min-width:0; margin-top:7px; overflow-wrap:anywhere; }
.b15-timeline__fact > span { display:block; color:var(--ink-3); font:600 10px/1.35 "IBM Plex Mono",monospace; letter-spacing:.04em; text-transform:uppercase; }
.b15-timeline__fact > p { margin:4px 0 0; color:var(--ink-2); font:400 13px/1.5 "IBM Plex Sans",sans-serif; }
.b15-timeline__conditions { display:grid; gap:3px; padding-left:16px; margin:5px 0 0; color:var(--ink-2); font:400 12px/1.45 "IBM Plex Sans",sans-serif; }
.b15-timeline__dates { color:var(--ink-3) !important; font:400 11px/1.4 "IBM Plex Mono",monospace !important; }
.b15-timeline__sources { display:flex; flex-wrap:wrap; gap:5px 12px; padding:0; margin:5px 0 0; list-style:none; color:var(--accent); font:400 11.5px/1.4 "IBM Plex Sans",sans-serif; }
.b15-timeline__sources a { color:inherit; text-underline-offset:2px; overflow-wrap:anywhere; }
.b15-timeline__separate { min-width:0; padding-top:14px; margin-top:14px; border-top:1px solid var(--rule-2); }
.b15-timeline__separate h3 { margin:0 0 8px; color:var(--ink-2); font:600 13px/1.4 "IBM Plex Sans",sans-serif; }
.b15-timeline__separate article { min-width:0; padding:9px 0; border-top:1px solid var(--rule-2); overflow-wrap:anywhere; }
.b15-timeline__separate h4 { margin:0; color:var(--ink); font:600 14px/1.35 "IBM Plex Sans",sans-serif; }
.b15-timeline__description { max-width:74ch; margin:12px 0 0; color:var(--ink-3); font:400 12px/1.45 "IBM Plex Sans",sans-serif; overflow-wrap:anywhere; }
.content-block--diagram--fallback { min-width:0; overflow-wrap:anywhere; }
.content-block--diagram--fallback ol { padding-left:22px; }
@media (max-width:620px) {
  .b15-timeline__anchor { padding:11px 12px; }
  .b15-timeline__items { grid-template-columns:minmax(0,1fr); gap:18px; padding:16px; }
  .b15-timeline__items > li { padding-right:0; }
  .b15-timeline__sources { display:grid; }
}

.b15-timeline__evidence { margin-top:5px; color:var(--ink-3); font:400 11.5px/1.4 "IBM Plex Sans",sans-serif; }
.b15-timeline__evidence > summary { width:max-content; max-width:100%; min-height:24px; padding-block:4px; color:var(--accent); cursor:pointer; }
.b15-timeline__evidence > summary:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.reference-country-conditions__route-swatch--visa_free { background:var(--map-visa-free); }
.reference-country-conditions__route-swatch--visa_evisa { background:var(--map-visa-evisa); }
.reference-country-conditions__route-swatch--visa_required { background:var(--map-visa-required); }
.reference-country-conditions__route-swatch--visa_closed { background:var(--map-visa-closed); }
.reference-country-conditions__route-swatch--visa_conditional { background:var(--map-visa-conditional); }
