:root {
  --bg: #faf9f5;
  --surface: #ffffff;
  --surface-soft: #f4f5f0;
  --ink: #10201b;
  --ink-2: #35413c;
  --muted: #6b746f;
  --line: #d9ddd6;
  --line-strong: #bcc5bc;
  --accent: #08624c;
  --accent-dark: #064a3a;
  --accent-soft: #e7f0eb;
  --blue: #225e7a;
  --purple: #65478a;
  --purple-soft: #eee9f5;
  --amber: #8a5b0b;
  --amber-soft: #f6edd8;
  --danger: #9a2d25;
  --radius: 6px;
  --radius-sm: 4px;
  --page: 1344px;
  --serif: Charter, "Iowan Old Style", "Palatino Linotype", Palatino, Georgia, serif;
  --sans: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-family: var(--sans);
  color: var(--ink);
  background: var(--bg);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--bg); color: var(--ink); -webkit-font-smoothing: antialiased; }
#root { min-height: 100vh; display: flex; flex-direction: column; }
#root > main { flex: 1 0 auto; }
body, button, input, select { font-family: var(--sans); }
button, input, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: var(--blue); text-underline-offset: 3px; }
button { color: inherit; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { text-wrap: balance; }
h1, h2 { font-family: var(--serif); }
h1 { font-size: clamp(2.55rem, 4.2vw, 4.35rem); line-height: 1.03; letter-spacing: -0.038em; }
h2 { font-size: clamp(1.65rem, 2.4vw, 2.2rem); line-height: 1.14; letter-spacing: -0.02em; }
h3 { font-size: 1.05rem; }
p { line-height: 1.6; color: var(--ink-2); }
svg { flex: 0 0 auto; stroke-width: 1.75; }
::selection { background: #cfe4d9; }

.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.page-width { width: min(calc(100% - 64px), var(--page)); margin-inline: auto; }

:focus-visible { outline: 3px solid rgba(8, 98, 76, .3); outline-offset: 3px; }

.site-header { position: sticky; top: 0; z-index: 40; background: rgba(255, 255, 255, .97); border-bottom: 1px solid var(--line); }
.site-header__inner { width: min(calc(100% - 52px), 1370px); min-height: 84px; margin-inline: auto; display: flex; align-items: center; gap: 24px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); text-decoration: none; flex: 0 0 auto; }
.brand img { width: 42px; height: 42px; display: block; }
.brand__copy { display: grid; line-height: 1; }
.brand__copy strong { font-family: var(--serif); font-size: 1.52rem; letter-spacing: -.02em; }
.brand__copy small { margin-top: 5px; color: var(--muted); font-size: .78rem; }
.desktop-nav { display: flex; align-items: center; gap: 4px; margin-left: 38px; }
.desktop-nav a { color: var(--ink); text-decoration: none; font-weight: 650; padding: 12px 13px; border-radius: var(--radius-sm); }
.desktop-nav a:hover, .desktop-nav a.active { color: var(--accent); background: var(--accent-soft); }
.header-search { margin-left: auto; width: min(360px, 26vw); height: 44px; display: flex; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); }
.header-search input { width: 100%; min-width: 0; border: 0; background: transparent; padding: 0 8px 0 15px; color: var(--ink); outline: 0; }
.header-search button { width: 44px; border: 0; background: transparent; display: grid; place-items: center; cursor: pointer; }
.mobile-menu-button { display: none; border: 0; background: transparent; padding: 8px; }
.mobile-nav { display: none; }

.home-hero { min-height: 373px; display: grid; grid-template-columns: minmax(0, 2.15fr) 1px minmax(280px, .9fr); gap: 46px; align-items: end; padding-top: 68px; padding-bottom: 41px; }
.home-hero__primary h1 { margin-bottom: 20px; font-size: clamp(3.1rem, 4.25vw, 4.45rem); max-width: 790px; }
.home-hero__primary > p { max-width: 720px; font-size: 1.08rem; margin-bottom: 24px; }
.hero-search { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 10px; max-width: 860px; }
.hero-search > svg { grid-column: 1; grid-row: 1; margin-left: 17px; z-index: 1; }
.hero-search input { grid-column: 1 / 3; grid-row: 1; width: 100%; height: 54px; padding: 0 16px 0 52px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); }
.hero-search button { grid-column: 3; grid-row: 1; height: 54px; }
.button { min-height: 46px; display: inline-flex; align-items: center; justify-content: center; gap: 9px; border-radius: var(--radius); padding: 0 20px; font-weight: 750; text-decoration: none; cursor: pointer; }
.button--primary { border: 1px solid var(--accent); background: var(--accent); color: white; }
.button--primary:hover { background: var(--accent-dark); }
.button--outline { border: 1px solid var(--accent); background: transparent; color: var(--accent); }
.button--outline:hover { background: var(--accent-soft); }
.hero-separator { width: 1px; height: 132px; align-self: end; margin-bottom: 4px; background: var(--line); display: grid; place-items: center; }
.hero-separator span { background: var(--bg); padding-block: 10px; font-size: .75rem; color: var(--muted); }
.home-hero__visa { align-self: end; padding-bottom: 1px; }
.home-hero__visa h2 { margin-bottom: 8px; color: var(--accent); font-size: 1.35rem; }
.home-hero__visa p { max-width: 280px; margin-bottom: 14px; line-height: 1.45; }

.visa-paths-section { padding-bottom: 35px; }
.visa-paths-section > h2 { margin-bottom: 18px; }
.visa-path-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 13px; }
.visa-path-grid :is(button, a) { min-height: 89px; display: grid; grid-template-columns: 46px 1fr auto; gap: 15px; align-items: center; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.74); color: var(--ink); padding: 14px 17px; text-align: left; text-decoration: none; cursor: pointer; }
.visa-path-grid :is(button, a):hover { border-color: var(--accent); background: var(--surface); }
.visa-path-grid :is(button, a) > svg:first-child { color: var(--accent); }
.visa-path-grid :is(button, a) span { display: grid; gap: 5px; }
.visa-path-grid button strong { font-family: var(--serif); font-size: 1.05rem; }
.visa-path-grid button small { color: var(--muted); }
.visa-path-grid .chevron { justify-self: end; }

.reports-preview { padding-bottom: 28px; }
.section-heading-row { display: flex; justify-content: space-between; align-items: end; gap: 30px; margin-bottom: 16px; }
.section-heading-row h2 { margin: 4px 0 4px; }
.section-heading-row p { margin: 0; }
.section-heading-row > a { display: inline-flex; align-items: center; gap: 5px; color: var(--accent); font-weight: 700; white-space: nowrap; }
.table-shell { border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.72); overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 760px; }
th { padding: 12px 15px; border-bottom: 1px solid var(--line-strong); background: var(--surface-soft); color: var(--muted); font-size: .72rem; letter-spacing: .075em; text-align: left; text-transform: uppercase; }
td { padding: 10px 15px; border-bottom: 1px solid var(--line); color: var(--ink-2); vertical-align: top; font-size: .88rem; line-height: 1.34; }
tbody tr:last-child td { border-bottom: 0; }
.report-table-shell td:nth-child(1) { width: 30%; color: var(--ink); }
.report-table-shell td:nth-child(2) { width: 42%; }
.report-table-shell td:nth-child(3) { width: 18%; }
.report-table-shell td:nth-child(4) { width: 10%; white-space: nowrap; }
.report-title { display: inline-flex; align-items: flex-start; gap: 10px; color: var(--ink); font-weight: 680; text-decoration-color: rgba(8,98,76,.35); }
.report-title svg { color: var(--accent); margin-top: 1px; }
.report-source-cell { display: flex; align-items: flex-start; justify-content: space-between; gap: 8px; }
.fact-source { display: flex; min-width: 190px; flex-direction: column; align-items: flex-start; gap: 5px; }
.fact-source small { color: var(--muted); line-height: 1.35; }
.source-kind { display: inline-flex; width: fit-content; align-items: center; border: 1px solid var(--line); border-radius: 999px; padding: 2px 8px; background: #f5f5f1; color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .025em; }
.source-kind--official { border-color: #bdd5c9; background: var(--accent-soft); color: var(--accent-dark); }
.source-kind--commercial { border-color: #e5d2a2; background: var(--amber-soft); color: #765b14; }
.source-kind--community { border-color: #d7c9e6; background: var(--purple-soft); color: var(--purple); }
.source-kind--research { border-color: #bfd4df; background: #eef6f8; color: #24576a; }
.source-link { min-width: 0; overflow-wrap: anywhere; text-decoration: underline dotted; text-underline-offset: 4px; }
.format-link { flex: 0 0 auto; display: inline-flex; color: var(--muted); border: 1px solid var(--line); border-radius: 3px; padding: 1px 5px; font-size: .69rem; line-height: 1.35; text-decoration: none; white-space: nowrap; }
.clickable-row { cursor: pointer; }
.clickable-row:hover { background: var(--accent-soft); }

.coverage-strip { min-height: 67px; display: grid; grid-template-columns: 2.4fr repeat(5, 1fr); border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.74); margin-bottom: 50px; }
.coverage-strip > div { display: flex; flex-direction: column; justify-content: center; gap: 4px; padding: 12px 20px; border-left: 1px solid var(--line); }
.coverage-strip > div:first-child { border-left: 0; }
.coverage-strip strong { font-size: 1rem; }
.coverage-strip small { color: var(--muted); }
.coverage-strip .coverage-lead { flex-direction: row; align-items: center; justify-content: flex-start; gap: 12px; }
.coverage-lead svg { color: var(--accent); }
.coverage-lead span { display: grid; gap: 4px; }

.dialog-backdrop[hidden] { display: none !important; }
.dialog-backdrop { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 24px; background: rgba(14, 28, 23, .48); }
.dialog { position: relative; width: min(720px, 100%); max-height: calc(100vh - 48px); overflow-y: auto; padding: 34px; border: 1px solid var(--line-strong); border-radius: 8px; background: var(--surface); }
.dialog h2 { margin: 6px 0 9px; }
.dialog-close { position: absolute; right: 18px; top: 18px; width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: var(--surface); cursor: pointer; }
.visa-form { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 25px; }
.visa-form label { display: grid; gap: 7px; color: var(--muted); font-size: .75rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.visa-form select { height: 44px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding-inline: 10px; color: var(--ink); text-transform: none; letter-spacing: 0; }
.visa-form button { grid-column: 1 / -1; margin-top: 6px; }
.visa-result { display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: start; margin-top: 18px; padding: 17px; border: 1px solid #bcd6c8; border-radius: var(--radius); background: var(--accent-soft); }
.visa-result > svg { color: var(--accent); }
.visa-result p { margin: 4px 0 0; font-size: .9rem; }
.visa-result button { display: inline-flex; align-items: center; gap: 5px; border: 0; background: transparent; color: var(--accent); font-weight: 750; cursor: pointer; white-space: nowrap; }

.site-footer { margin-top: 65px; border-top: 1px solid var(--line); background: #f2f3ee; }
.site-footer__inner { width: min(calc(100% - 64px), var(--page)); margin-inline: auto; display: grid; grid-template-columns: minmax(250px, 1.35fr) repeat(3, minmax(130px, .65fr)); gap: 48px; align-items: start; padding: 48px 0 38px; }
.footer-brand { display: inline-flex; align-items: center; gap: 9px; color: var(--ink); font-family: var(--serif); font-weight: 700; text-decoration: none; }
.footer-brand img { width: 30px; height: 30px; }
.site-footer p { margin: 8px 0 0; max-width: 470px; font-size: .88rem; }
.site-footer nav { display: grid; align-content: start; gap: 10px; }
.site-footer nav strong { margin-bottom: 3px; font-size: .78rem; letter-spacing: .07em; text-transform: uppercase; }
.site-footer nav a { width: fit-content; color: var(--ink-2); font-size: .9rem; }
.site-footer__bottom { width: min(calc(100% - 64px), var(--page)); margin-inline: auto; display: flex; justify-content: space-between; gap: 30px; padding: 18px 0 24px; border-top: 1px solid var(--line); color: var(--muted); font-size: .78rem; }

.detail-page, .listing-page { padding-top: 24px; }
.breadcrumbs { min-height: 34px; display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: .84rem; }
.breadcrumbs > span { display: inline-flex; align-items: center; gap: 6px; }
.breadcrumbs a { display: inline-flex; align-items: center; color: var(--blue); text-decoration: none; }
.page-intro { position: relative; padding: 31px 0 26px; border-bottom: 1px solid var(--line); }
.page-intro h1 { margin: 7px 0 10px; font-size: clamp(3rem, 5vw, 4.45rem); }
.page-intro > p { max-width: 780px; margin: 0; font-size: 1.07rem; }
.page-intro .source-actions { position: absolute; right: 0; bottom: 26px; }
.page-intro > .button { position: absolute; right: 0; bottom: 30px; }
.source-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.source-actions a, .source-actions button { min-height: 38px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--accent); padding: 0 11px; font-size: .83rem; font-weight: 700; text-decoration: none; cursor: pointer; }
.source-actions a:hover, .source-actions button:hover { border-color: var(--accent); background: var(--accent-soft); }
.source-actions--compact { margin-top: 18px; }
.tag-row { display: flex; flex-wrap: wrap; gap: 7px; margin: 22px 0 -10px; }
.badge { display: inline-flex; align-items: center; width: fit-content; min-height: 24px; border: 1px solid #bdd5c9; border-radius: 999px; background: var(--accent-soft); color: var(--accent-dark); padding: 2px 8px; font-size: .73rem; font-weight: 750; line-height: 1.2; }
.badge--purple { border-color: #d7c9e6; background: var(--purple-soft); color: var(--purple); }
.badge--amber { border-color: #e5d2a2; background: var(--amber-soft); color: var(--amber); }
.answer-panel { margin-top: 28px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); background: rgba(255,255,255,.76); overflow: hidden; }
.answer-panel__copy { padding: 22px 24px 16px; }
.answer-panel__copy p { max-width: 940px; margin: 0; font-size: 1.03rem; }
.answer-panel--facts-only .fact-grid { margin-top: 22px; }
.fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 22px; border: 1px solid var(--line); }
.fact { min-height: 110px; display: flex; flex-direction: column; gap: 6px; padding: 15px; border-left: 1px solid var(--line); }
.fact:first-child { border-left: 0; }
.fact > span { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.fact strong { color: var(--accent-dark); font-family: ui-monospace, "SFMono-Regular", Consolas, monospace; font-size: 1.25rem; }
.fact small { color: var(--ink-2); }
.fact em { margin-top: auto; color: var(--muted); font-size: .74rem; font-style: normal; }
.provenance-line { min-height: 45px; display: flex; align-items: center; gap: 8px; padding: 8px 24px; color: var(--muted); font-size: .82rem; }
.provenance-line svg { color: var(--accent); }
.page-subnav { display: flex; flex-wrap: wrap; gap: 8px 26px; margin-top: 18px; padding: 15px 18px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.6); }
.page-subnav a { color: var(--blue); font-size: .87rem; font-weight: 650; text-decoration: none; }
.content-section { padding: 55px 0; border-bottom: 1px solid var(--line); scroll-margin-top: 90px; }
.content-section h2 { margin: 0 0 8px; }
.content-section > p, .content-section > div > p { max-width: 730px; }
.content-section .table-shell { margin-top: 20px; }
.content-section td a { display: inline-flex; gap: 5px; align-items: center; }
.two-column-section { display: grid; grid-template-columns: .85fr 1.15fr; gap: 70px; align-items: start; }
.key-value-list { margin: 0; border-top: 1px solid var(--line-strong); }
.key-value-list > div { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; padding: 17px 5px; border-bottom: 1px solid var(--line); }
.key-value-list dt { color: var(--muted); }
.key-value-list dd { margin: 0; font-weight: 750; }
.key-value-list small { display: block; margin-top: 5px; color: var(--muted); font-weight: 400; }
.entity-list { margin-top: 20px; border-top: 1px solid var(--line-strong); }
.entity-list > div { min-height: 72px; display: grid; grid-template-columns: auto 1fr auto; gap: 13px; align-items: center; border-bottom: 1px solid var(--line); }
.entity-list > div > svg { color: var(--accent); }
.entity-list span { display: grid; gap: 4px; }
.entity-list small { color: var(--muted); }
.entity-list a { display: inline-flex; align-items: center; gap: 5px; color: var(--accent); font-weight: 700; }
.country-city-search { max-width: 520px; margin: 0 0 16px; }

.country-featured { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(420px, .85fr); gap: 28px; margin: 28px 0 18px; padding: 28px; border: 1px solid var(--line-strong); border-left: 5px solid var(--accent); border-radius: var(--radius); background: linear-gradient(135deg, var(--green-soft), rgba(255,255,255,.82)); }
.country-featured__story { align-self: center; }
.country-featured__story h2 { margin: 7px 0 10px; }
.country-featured__story p { max-width: 720px; margin: 0; line-height: 1.65; }
.eyebrow { color: var(--accent); font-size: .72rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.country-featured__cities { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; }
.country-featured__cities a { min-width: 0; display: grid; align-content: center; gap: 6px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.82); color: var(--ink); text-decoration: none; }
.country-featured__cities a:hover { border-color: var(--accent); }
.country-featured__cities span, .country-featured__cities small { color: var(--muted); font-size: .72rem; }
.country-featured__cities strong { font-family: var(--serif); font-size: 1.1rem; }
.country-answer-panel { margin-top: 18px; }
.country-visa-link { display: flex; align-items: center; justify-content: space-between; gap: 28px; background: var(--cream-2); }
.country-visa-link h2 { margin: 0 0 7px; }
.country-visa-link p { margin: 0; }
.muted-action { color: var(--muted); font-size: .82rem; }
.source-ledger { display: flex; justify-content: space-between; align-items: center; gap: 35px; }
.decision-grid { display: grid; grid-template-columns: .78fr 1.22fr; gap: 60px; }
.decision-list { border-top: 1px solid var(--line-strong); }
.decision-list > div { min-height: 80px; display: grid; grid-template-columns: 38px 1fr auto; gap: 14px; align-items: center; border-bottom: 1px solid var(--line); }
.decision-list > div > strong { font-family: ui-monospace, monospace; color: var(--accent); }
.decision-list span { display: grid; gap: 5px; }
.decision-list small { color: var(--muted); }
.decision-list a { color: var(--accent); font-weight: 700; }
.resource-grid { display: grid; gap: 12px; margin-top: 20px; }
.resource-grid--three { grid-template-columns: repeat(3, 1fr); }
.resource-grid > a, .resource-grid > div { min-height: 126px; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.7); padding: 18px; color: var(--ink); text-decoration: none; }
.resource-grid > a:hover { border-color: var(--accent); }
.resource-grid svg { color: var(--accent); }
.resource-grid span { color: var(--muted); line-height: 1.45; }

.listing-page .page-intro { padding-bottom: 34px; }
.country-directory-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 30px 0 18px; }
.country-directory-toolbar .search-control { width: min(620px, 100%); }
.country-directory-toolbar > span { color: var(--muted); white-space: nowrap; }
.country-directory { border-top: 1px solid var(--line-strong); }
.country-directory article { min-height: 86px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); padding: 11px 4px; }
.country-directory h2 { margin: 0 0 4px; font-family: var(--serif); font-size: 1.25rem; }
.country-directory p { margin: 0; color: var(--muted); font-size: .86rem; }
.country-directory a { display: inline-flex; align-items: center; gap: 5px; color: var(--accent); font-weight: 700; white-space: nowrap; }
.listing-toolbar { display: grid; grid-template-columns: minmax(320px, .8fr) 1.2fr; gap: 22px; align-items: center; margin: 30px 0 20px; }
.search-control { height: 48px; display: flex; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 14px; }
.search-control svg { color: var(--muted); }
.search-control input { width: 100%; border: 0; outline: 0; background: transparent; color: var(--ink); }
.filter-pills { display: flex; flex-wrap: wrap; gap: 7px; }
.filter-pills button { min-height: 38px; border: 1px solid var(--line); border-radius: 999px; background: var(--surface); padding: 0 13px; cursor: pointer; }
.filter-pills button.active, .filter-pills button:hover { border-color: var(--accent); background: var(--accent-soft); color: var(--accent); }
.results-summary { display: flex; justify-content: space-between; gap: 20px; margin-bottom: 12px; color: var(--muted); font-size: .85rem; }
.results-summary strong { color: var(--ink); }
.report-catalog-overview { display: grid; grid-template-columns: repeat(3, minmax(130px, .45fr)) minmax(320px, 1.65fr); margin: 30px 0 24px; border: 1px solid var(--line-strong); border-radius: var(--radius); background: rgba(255,255,255,.74); }
.report-catalog-overview > * { min-height: 92px; display: grid; align-content: center; gap: 4px; padding: 18px 20px; border-left: 1px solid var(--line); }
.report-catalog-overview > :first-child { border-left: 0; }
.report-catalog-overview strong { color: var(--accent-dark); font-family: var(--serif); font-size: 1.9rem; }
.report-catalog-overview span { color: var(--muted); font-size: .78rem; }
.report-catalog-overview p { margin: 0; line-height: 1.55; }
.report-search { margin-top: 0; }
.reports-summary { align-items: center; min-height: 48px; margin: 0 0 18px; padding: 10px 14px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--cream-2); }

.mcp-status-card { display: grid; grid-template-columns: 1.35fr .65fr; gap: 45px; margin: 30px 0 18px; padding: 26px; border: 1px solid var(--line-strong); border-left: 5px solid var(--accent); border-radius: var(--radius); background: var(--green-soft); }
.mcp-status-card h2 { margin: 7px 0; }
.mcp-status-card p { margin: 0; }
.mcp-status-card dl { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0; }
.mcp-status-card dl > div { padding: 10px 14px; border-left: 1px solid var(--line); }
.mcp-status-card dt { color: var(--muted); font-size: .7rem; text-transform: uppercase; }
.mcp-status-card dd { margin: 5px 0 0; font-weight: 750; }
.mcp-docs-page pre { max-width: 100%; overflow-x: auto; margin: 16px 0; padding: 18px; border: 1px solid var(--line-strong); border-radius: var(--radius-sm); background: #13201c; color: #f2f7f4; white-space: pre-wrap; overflow-wrap: anywhere; }
.mcp-docs-page code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86em; }
.mcp-resource-grid, .mcp-example-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 18px; }
.mcp-resource-grid > div, .mcp-example-grid > div { min-width: 0; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.74); }
.mcp-resource-grid > div { display: grid; gap: 8px; }
.mcp-resource-grid span { color: var(--muted); }
.mcp-example-grid h3 { margin: 0 0 8px; font-size: 1rem; }
.mcp-example-grid pre { margin: 0; }

.schengen-quick-answer { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: 28px; margin: 30px 0 18px; padding: 28px; border: 1px solid var(--line-strong); border-left: 5px solid var(--accent); border-radius: var(--radius); background: var(--green-soft); }
.schengen-quick-answer h2 { margin: 7px 0 10px; font-size: 2rem; }
.schengen-quick-answer p { margin: 0; line-height: 1.65; }
.schengen-fact-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.schengen-fact-grid > div { display: grid; align-content: center; gap: 6px; min-height: 108px; padding: 16px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.82); }
.schengen-fact-grid span, .schengen-fact-grid small { color: var(--muted); font-size: .74rem; }
.schengen-fact-grid strong { color: var(--accent-dark); font-size: 1.02rem; }
.schengen-steps { display: grid; grid-template-columns: repeat(5, 1fr); gap: 10px; margin: 18px 0 0; padding: 0; list-style: none; counter-reset: steps; }
.schengen-steps li { counter-increment: steps; display: grid; align-content: start; gap: 7px; min-height: 170px; padding: 18px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.72); }
.schengen-steps li::before { content: counter(steps); width: 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--accent); color: white; font-weight: 800; }
.schengen-steps span { color: var(--muted); font-size: .86rem; line-height: 1.5; }
.schengen-document-card { display: grid; gap: 9px; padding: 22px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); background: rgba(255,255,255,.74); }
.schengen-document-card small { color: var(--muted); }
.empty-state { display: grid; place-items: center; min-height: 280px; border: 1px dashed var(--line-strong); border-radius: var(--radius); padding: 30px; text-align: center; }
.empty-state svg { color: var(--accent); }
.empty-state h2 { margin: 12px 0 4px; font-size: 1.4rem; }
.empty-state p { margin-bottom: 13px; }
.empty-state button { border: 1px solid var(--accent); border-radius: var(--radius); background: var(--accent-soft); color: var(--accent); padding: 9px 13px; cursor: pointer; }
.report-detail-panel { position: relative; min-height: 220px; margin-top: 24px; padding: 25px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); background: rgba(255,255,255,.7); }
.report-detail-panel h2 { margin: 10px 0 8px; }
.report-detail-panel > p { max-width: 760px; }
.report-detail-panel dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; margin: 18px 0 0; }
.report-detail-panel dl > div { border-top: 1px solid var(--line); padding-top: 10px; }
.report-detail-panel dt { color: var(--muted); font-size: .75rem; text-transform: uppercase; letter-spacing: .06em; }
.report-detail-panel dd { margin: 6px 0 0; font-weight: 680; }
.panel-close { position: absolute; top: 16px; right: 16px; border: 0; background: transparent; cursor: pointer; }
.panel-placeholder { min-height: 165px; display: flex; align-items: center; justify-content: center; gap: 13px; color: var(--muted); }
.panel-placeholder strong { color: var(--ink); }
.panel-placeholder p { margin: 4px 0 0; }

.data-stats { display: grid; grid-template-columns: repeat(4, 1fr); margin: 30px 0 0; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.7); }
.data-stats > div { min-height: 100px; display: flex; flex-direction: column; justify-content: center; gap: 6px; padding: 16px 20px; border-left: 1px solid var(--line); }
.data-stats > div:first-child { border-left: 0; }
.data-stats strong { color: var(--accent-dark); font-family: var(--serif); font-size: 1.8rem; }
.data-stats span { color: var(--muted); }
.dataset-list { border-top: 1px solid var(--line-strong); }
.dataset-list article { min-height: 108px; display: grid; grid-template-columns: auto 1fr auto; gap: 16px; align-items: center; border-bottom: 1px solid var(--line); }
.dataset-list article > svg { color: var(--accent); }
.dataset-copy h3 { margin: 0 0 5px; font-family: var(--serif); font-size: 1.15rem; }
.dataset-copy p { margin: 0 0 5px; }
.dataset-copy span { color: var(--muted); font-size: .78rem; }
.dataset-actions { display: flex; gap: 7px; }
.dataset-actions button, .dataset-actions a { min-height: 39px; display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: var(--surface); color: var(--accent); padding: 0 10px; text-decoration: none; cursor: pointer; }
.contract-list { border-top: 1px solid var(--line-strong); }
.contract-list > div { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; min-height: 72px; border-bottom: 1px solid var(--line); }
.contract-list > div > svg { color: var(--accent); }
.contract-list span { display: grid; gap: 4px; }
.contract-list small { color: var(--muted); }
.inline-action { width: fit-content; margin-top: 17px; }

.mcp-access-card { display: grid; grid-template-columns: 1fr minmax(380px, .8fr); gap: 55px; align-items: start; margin-top: 30px; padding: 25px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); background: rgba(255,255,255,.74); }
.mcp-access-card h2 { margin-bottom: 7px; }
.mcp-access-card p { margin: 0; }
.mcp-access-card dl { margin: 0; border-top: 1px solid var(--line-strong); }
.mcp-access-card dl > div { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; padding: 12px 2px; border-bottom: 1px solid var(--line); }
.mcp-access-card dt { color: var(--muted); }
.mcp-access-card dd { margin: 0; font-weight: 750; }
.tool-list { margin-top: 20px; border-top: 1px solid var(--line-strong); }
.tool-list > div { display: grid; grid-template-columns: minmax(190px, .35fr) 1fr; gap: 22px; padding: 15px 3px; border-bottom: 1px solid var(--line); }
.tool-list code { color: var(--accent-dark); font-size: .9rem; font-weight: 750; }
.tool-list span { color: var(--ink-2); }

.contact-layout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(270px, .55fr); gap: 48px; align-items: start; margin-top: 32px; }
.contact-layout form { display: grid; grid-template-columns: 1fr 1fr; gap: 17px 18px; }
.contact-layout label { display: grid; gap: 7px; color: var(--ink-2); font-size: .82rem; font-weight: 720; }
.contact-layout label:first-child, .contact-layout label:nth-last-of-type(1), .contact-layout form > button, .form-message { grid-column: 1 / -1; }
.contact-layout label span { color: var(--muted); font-weight: 450; }
.contact-layout input, .contact-layout select, .contact-layout textarea { width: 100%; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); color: var(--ink); padding: 12px; }
.contact-layout input, .contact-layout select { min-height: 47px; }
.contact-layout textarea { resize: vertical; }
.contact-layout form > button { width: fit-content; }
.contact-layout aside { padding: 24px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.68); }
.contact-layout aside h2 { font-size: 1.45rem; }
.contact-layout aside ul { margin: 15px 0 0; padding-left: 20px; color: var(--ink-2); line-height: 1.55; }
.contact-layout aside li + li { margin-top: 10px; }
.form-message { margin: 0; color: var(--accent-dark); font-weight: 700; }
.utility-page .content-section > a { display: inline-flex; align-items: center; gap: 5px; font-weight: 720; }

.city-finder { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); gap: 24px; margin-top: 30px; }
.search-control--large { height: 56px; }
.search-control kbd { border: 1px solid var(--line); border-radius: 3px; background: var(--surface-soft); padding: 2px 6px; color: var(--muted); }
.select-control { height: 56px; display: grid; grid-template-columns: auto 1fr; grid-template-rows: 19px 17px; column-gap: 10px; align-content: center; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 14px; }
.select-control svg { grid-row: 1 / 3; align-self: center; color: var(--accent); }
.select-control span { color: var(--muted); font-size: .69rem; font-weight: 750; text-transform: uppercase; }
.select-control select { border: 0; outline: 0; background: transparent; color: var(--ink); font-weight: 700; }
.profile-filter { margin-top: 30px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.72); }
.profile-filter__heading { display: flex; justify-content: space-between; gap: 30px; align-items: start; padding: 22px 24px 18px; }
.profile-filter__heading h2 { margin-bottom: 5px; font-size: 1.5rem; }
.profile-filter__heading p { margin: 0; }
.profile-filter__heading > button { border: 0; background: transparent; color: var(--accent); font-weight: 750; cursor: pointer; white-space: nowrap; }
.profile-summary { display: grid; grid-template-columns: 1.2fr repeat(5, 1fr); margin: 0; border-top: 1px solid var(--line); }
.profile-summary > div { min-width: 0; padding: 14px 17px; border-left: 1px solid var(--line); }
.profile-summary > div:first-child { border-left: 0; }
.profile-summary > div:nth-child(n+7) { border-top: 1px solid var(--line); }
.profile-summary > div:nth-child(7) { border-left: 0; }
.profile-summary dt { color: var(--muted); font-size: .68rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.profile-summary dd { margin: 5px 0 0; font-size: .88rem; font-weight: 700; }
.profile-editor { display: grid; grid-template-columns: minmax(220px, .45fr) minmax(0, 1fr) auto; gap: 12px 18px; align-items: end; padding: 18px 24px 22px; border-top: 1px solid var(--line); background: var(--surface-soft); }
.profile-editor label { grid-column: 1; color: var(--muted); font-size: .75rem; font-weight: 750; }
.profile-editor select { grid-column: 1; min-height: 46px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 11px; }
.profile-editor p { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: .85rem; }
.profile-editor button { grid-column: 3; grid-row: 1 / 3; align-self: center; }
.profile-editor--two-fields { grid-template-columns: minmax(190px, .7fr) minmax(190px, .7fr) 1fr auto; align-items: end; }
.profile-editor--two-fields label { display: grid; grid-column: auto; gap: 7px; }
.profile-editor--two-fields label select { grid-column: auto; width: 100%; }
.profile-editor--two-fields button { grid-column: 4; grid-row: 1; }
.profile-editor--all-fields { grid-template-columns: repeat(4, minmax(150px, 1fr)); align-items: end; }
.profile-editor--all-fields label { grid-column: auto; display: grid; gap: 7px; }
.profile-editor--all-fields label select { grid-column: auto; width: 100%; min-height: 46px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface); padding: 0 10px; color: var(--ink); }
.profile-editor--all-fields button { grid-column: 4; grid-row: auto; width: 100%; }
.city-results-layout { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(310px, .55fr); gap: 24px; align-items: start; margin-top: 34px; }
.city-results > button { width: 100%; min-height: 78px; display: grid; grid-template-columns: auto minmax(160px, .8fr) 1.25fr 115px auto; gap: 13px; align-items: center; border: 0; border-bottom: 1px solid var(--line); background: transparent; padding: 11px 10px; text-align: left; cursor: pointer; }
.city-results > button:first-of-type { border-top: 1px solid var(--line-strong); }
.city-results > button:hover, .city-results > button.selected { background: var(--accent-soft); }
.city-results > button > svg:first-child { color: var(--accent); }
.city-results button > span:nth-child(2) { display: grid; gap: 4px; }
.city-results button small { color: var(--muted); }
.city-tags-inline { display: flex; flex-wrap: wrap; gap: 5px; }
.city-tags-inline i { border: 1px solid var(--line); border-radius: 999px; padding: 3px 7px; color: var(--muted); font-size: .7rem; font-style: normal; }
.match-score { display: grid; gap: 4px; color: var(--accent); font-size: 1.05rem; font-weight: 800; text-align: right; }
.match-score small { font-size: .7rem; font-weight: 450; }
.city-record-panel { position: sticky; top: 108px; padding: 24px; border: 1px solid var(--line); border-left: 4px solid var(--accent); border-radius: var(--radius); background: rgba(255,255,255,.78); }
.match-eyebrow { margin: 0 0 10px; color: var(--muted); font-size: .75rem; font-weight: 750; letter-spacing: .06em; text-transform: uppercase; }
.match-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 18px; }
.match-heading h2 { margin: 0; font-size: 2rem; }
.match-heading > strong { color: var(--accent); font-family: var(--serif); font-size: 2rem; }
.match-range { margin: 7px 0 18px; color: var(--muted); font-size: .79rem; }
.match-explanation { display: grid; gap: 0; margin: 0 0 12px; border-top: 1px solid var(--line-strong); }
.match-explanation h3 { margin: 17px 0 6px; font-size: .85rem; }
.factor { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; padding: 9px 0; border-bottom: 1px solid var(--line); }
.factor > svg { margin-top: 1px; }
.factor--positive > svg { color: var(--accent); }
.factor--tradeoff > svg { color: var(--amber); }
.factor span { display: grid; gap: 2px; }
.factor small { color: var(--muted); }
.city-record-panel > p { margin-bottom: 18px; }
.city-record-panel dl { margin: 0 0 22px; }
.city-record-panel dl > div { padding: 12px 0; border-bottom: 1px solid var(--line); }
.city-record-panel dt { color: var(--muted); font-size: .73rem; text-transform: uppercase; letter-spacing: .06em; }
.city-record-panel dd { margin: 6px 0 0; font-weight: 650; }
.report-facts { display: grid; grid-template-columns: repeat(3, 1fr); margin: 0 22px 22px; border: 1px solid var(--line); }
.report-facts > div { min-height: 82px; padding: 15px; border-left: 1px solid var(--line); }
.report-facts > div:first-child { border-left: 0; }
.report-facts dt { color: var(--muted); font-size: .7rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.report-facts dd { margin: 7px 0 0; font-weight: 700; }
.report-checklist { display: grid; gap: 11px; margin: 0; padding: 0; list-style: none; }
.report-checklist li { display: grid; grid-template-columns: auto 1fr; gap: 10px; align-items: start; padding-bottom: 11px; border-bottom: 1px solid var(--line); line-height: 1.55; }
.report-checklist li:last-child { padding-bottom: 0; border-bottom: 0; }
.report-checklist svg { margin-top: 3px; color: var(--accent); }
.report-document-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 20px; }
.report-document-grid > div { display: grid; grid-template-columns: auto 1fr; gap: 9px; align-items: start; min-height: 78px; padding: 15px; border: 1px solid var(--line); border-radius: var(--radius-sm); background: rgba(255,255,255,.68); line-height: 1.4; }
.report-document-grid svg { color: var(--accent); }
.report-note-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 12px; }
.report-note-grid > div { padding: 18px; border-left: 3px solid var(--accent); background: var(--green-soft); }
.report-note-grid h3 { margin: 0 0 7px; font-size: .95rem; }
.report-note-grid p { margin: 0; color: var(--ink-2); line-height: 1.55; }
.report-before-applying { display: grid; grid-template-columns: auto 1fr; gap: 15px; align-items: start; background: var(--cream-2); }
.report-before-applying > svg { color: var(--accent); }
.report-before-applying h2 { margin: 0 0 7px; }
.report-before-applying p { margin: 0; color: var(--ink-2); line-height: 1.6; }
.suitability-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.suitability-grid article { min-height: 116px; display: grid; align-content: center; gap: 7px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,255,255,.72); padding: 17px; }
.suitability-grid span { color: var(--ink-2); font-weight: 700; }
.suitability-grid strong { color: var(--accent-dark); font-family: var(--serif); font-size: 2rem; }
.suitability-grid small { color: var(--muted); }

@media (max-width: 1180px) {
  .desktop-nav { margin-left: 8px; }
  .desktop-nav a { padding-inline: 8px; }
  .header-search { width: 240px; }
  .coverage-strip { grid-template-columns: 2fr repeat(3, 1fr); }
  .coverage-strip > div:nth-child(5), .coverage-strip > div:nth-child(6) { display: none; }
}

@media (max-width: 960px) {
  .page-width { width: min(calc(100% - 36px), var(--page)); }
  .site-header__inner { width: calc(100% - 30px); min-height: 70px; }
  .brand img { width: 37px; height: 37px; }
  .brand__copy strong { font-size: 1.28rem; }
  .brand__copy small { display: none; }
  .report-document-grid { grid-template-columns: repeat(2, 1fr); }
  .desktop-nav, .header-search { display: none; }
  .mobile-menu-button { display: grid; place-items: center; margin-left: auto; }
  .mobile-nav { display: block; border-top: 1px solid var(--line); padding: 14px 18px 18px; background: var(--surface); }
  .mobile-nav form { height: 46px; display: flex; align-items: center; gap: 8px; border: 1px solid var(--line); border-radius: var(--radius); padding: 0 12px; }
  .mobile-nav input { width: 100%; border: 0; outline: 0; }
  .mobile-nav nav { display: grid; margin-top: 10px; }
  .mobile-nav nav a { min-height: 45px; display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid var(--line); color: var(--ink); font-weight: 700; text-decoration: none; }
  .home-hero { grid-template-columns: 1fr; gap: 25px; padding-top: 45px; }
  .home-hero__primary h1 { font-size: clamp(2.75rem, 8vw, 4rem); }
  .hero-separator { display: none; }
  .home-hero__visa { padding: 20px 0; border-top: 1px solid var(--line); }
  .visa-path-grid { grid-template-columns: repeat(2, 1fr); }
  .coverage-strip { grid-template-columns: repeat(3, 1fr); }
  .coverage-strip .coverage-lead { grid-column: 1 / -1; border-left: 0; border-bottom: 1px solid var(--line); }
  .coverage-strip > div:nth-child(5), .coverage-strip > div:nth-child(6) { display: flex; }
  .site-footer__inner { width: calc(100% - 36px); grid-template-columns: 1.4fr repeat(3, 1fr); gap: 25px; padding-block: 30px; }
  .site-footer__bottom { width: calc(100% - 36px); }
  .page-intro .source-actions, .page-intro > .button { position: static; margin-top: 20px; }
  .two-column-section, .decision-grid { grid-template-columns: 1fr; gap: 25px; }
  .source-ledger { align-items: flex-start; flex-direction: column; }
  .listing-toolbar { grid-template-columns: 1fr; }
  .city-results-layout { grid-template-columns: 1fr; }
  .city-record-panel { position: static; }
  .profile-summary { grid-template-columns: repeat(3, 1fr); }
  .profile-summary > div:nth-child(n+4) { border-top: 1px solid var(--line); }
  .profile-summary > div:nth-child(4), .profile-summary > div:nth-child(7) { border-left: 0; }
  .mcp-access-card { grid-template-columns: 1fr; gap: 22px; }
  .country-featured, .schengen-quick-answer, .mcp-status-card { grid-template-columns: 1fr; }
  .report-catalog-overview { grid-template-columns: repeat(3, 1fr); }
  .report-catalog-overview p { grid-column: 1 / -1; border-left: 0; border-top: 1px solid var(--line); }
  .schengen-steps { grid-template-columns: repeat(2, 1fr); }
  .profile-editor--all-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .profile-editor--all-fields button { grid-column: 2; }
}

@media (max-width: 680px) {
  h1 { font-size: 2.55rem; }
  h2 { font-size: 1.6rem; }
  .page-width { width: calc(100% - 28px); }
  .site-header__inner { width: calc(100% - 24px); }
  .hero-search { grid-template-columns: 24px minmax(0, 1fr); grid-template-rows: 54px 54px; }
  .hero-search > svg { grid-column: 1; grid-row: 1; }
  .hero-search input { grid-column: 1 / 3; grid-row: 1; }
  .hero-search button { grid-column: 1 / -1; grid-row: 2; margin-top: 8px; }
  .visa-path-grid { grid-template-columns: 1fr; }
  .country-featured__cities, .schengen-fact-grid, .mcp-resource-grid, .mcp-example-grid, .report-catalog-overview { grid-template-columns: 1fr; }
  .country-visa-link, .results-summary { align-items: flex-start; flex-direction: column; }
  .report-catalog-overview > *, .report-catalog-overview p { grid-column: auto; border-left: 0; border-top: 1px solid var(--line); }
  .report-catalog-overview > :first-child { border-top: 0; }
  .schengen-steps { grid-template-columns: 1fr; }
  .mcp-status-card dl { grid-template-columns: 1fr; }
  .mcp-status-card dl > div { border-left: 0; border-top: 1px solid var(--line); }
  .visa-path-grid :is(button, a) { min-height: 76px; }
  .coverage-strip { grid-template-columns: repeat(2, 1fr); }
  .coverage-strip > div:nth-child(5), .coverage-strip > div:nth-child(6) { display: none; }
  .section-heading-row { align-items: flex-start; flex-direction: column; gap: 8px; }
  .fact-grid { grid-template-columns: 1fr; }
  .fact { border-left: 0; border-top: 1px solid var(--line); }
  .fact:first-child { border-top: 0; }
  .page-subnav { overflow-x: auto; flex-wrap: nowrap; }
  .page-subnav a { white-space: nowrap; }
  .resource-grid--three { grid-template-columns: 1fr; }
  .site-footer__inner { grid-template-columns: 1fr; gap: 20px; }
  .site-footer__bottom { align-items: flex-start; flex-direction: column; gap: 7px; }
  .visa-form { grid-template-columns: 1fr; }
  .visa-result { grid-template-columns: auto 1fr; }
  .visa-result button { grid-column: 1 / -1; justify-self: start; }
  .dialog { padding: 26px 19px; }
  .dialog-close { top: 12px; right: 12px; }
  .key-value-list > div { grid-template-columns: 1fr; gap: 6px; }
  .decision-list > div { grid-template-columns: 30px 1fr; padding-block: 11px; }
  .decision-list a { grid-column: 2; }
  .report-detail-panel dl { grid-template-columns: 1fr; }
  .data-stats { grid-template-columns: repeat(2, 1fr); }
  .data-stats > div:nth-child(3) { border-left: 0; border-top: 1px solid var(--line); }
  .data-stats > div:nth-child(4) { border-top: 1px solid var(--line); }
  .dataset-list article { grid-template-columns: auto 1fr; padding-block: 16px; }
  .dataset-actions { grid-column: 1 / -1; }
  .city-finder { grid-template-columns: 1fr; }
  .city-results > button { grid-template-columns: auto 1fr auto; }
  .city-tags-inline, .match-score { display: none; }
  .profile-filter__heading { flex-direction: column; gap: 12px; }
  .profile-summary { grid-template-columns: repeat(2, 1fr); }
  .profile-summary > div:nth-child(n+3) { border-top: 1px solid var(--line); }
  .profile-summary > div:nth-child(odd) { border-left: 0; }
  .profile-editor { grid-template-columns: 1fr; align-items: start; }
  .profile-editor label, .profile-editor select, .profile-editor p, .profile-editor button, .profile-editor--two-fields label, .profile-editor--two-fields label select, .profile-editor--two-fields button, .profile-editor--all-fields label, .profile-editor--all-fields label select, .profile-editor--all-fields button { grid-column: 1; grid-row: auto; }
  .profile-editor button { width: 100%; }
  .country-directory-toolbar { align-items: stretch; flex-direction: column; }
  .country-directory article { grid-template-columns: 1fr; gap: 8px; align-items: start; padding-block: 16px; }
  .country-directory article > a { grid-column: 1; }
  .report-facts { grid-template-columns: 1fr; }
  .report-facts > div { border-left: 0; border-top: 1px solid var(--line); }
  .report-facts > div:first-child { border-top: 0; }
  .report-document-grid, .report-note-grid { grid-template-columns: 1fr; }
  .contact-layout { grid-template-columns: 1fr; }
  .contact-layout form { grid-template-columns: 1fr; }
  .contact-layout label, .contact-layout label:first-child, .contact-layout label:nth-last-of-type(1), .contact-layout form > button, .form-message { grid-column: 1; }
  .tool-list > div { grid-template-columns: 1fr; gap: 6px; }
  .suitability-grid { grid-template-columns: 1fr; }
}
