/* Nomad Mac Travels portal framework v2. The completed content and tools use this single visual system. */
:root {
  --nm-navy-950: #061725;
  --nm-navy-900: #09253a;
  --nm-navy-800: #103a55;
  --nm-blue-700: #155b78;
  --nm-cyan-500: #36a9cf;
  --nm-mint-400: #83d9ca;
  --nm-ink: #102f46;
  --nm-muted: #526b7a;
  --nm-line: #9db8c7;
  --nm-line-soft: #c8d7df;
  --nm-canvas: #dfeaf0;
  --nm-panel: #f7fafc;
  --nm-panel-alt: #eaf2f6;
  --nm-white: #ffffff;
  --nm-warning: #b56b18;
  --nm-danger: #a73c3c;
  --nm-success: #2f765f;
  --nm-shadow: 0 1px 0 rgba(6, 23, 37, .16);
  --nm-content: 1480px;
  --nm-rail: 204px;
}

*, *::before, *::after { box-sizing: border-box; }
html { min-width: 320px; background: var(--nm-canvas); scroll-behavior: smooth; }
body.site-v2 {
  margin: 0;
  min-width: 320px;
  background-color: var(--nm-canvas);
  background-image:
    linear-gradient(rgba(16, 58, 85, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16, 58, 85, .055) 1px, transparent 1px);
  background-size: 24px 24px;
  color: var(--nm-ink);
  font: 500 16px/1.58 Manrope, Arial, sans-serif;
}
body.site-v2 img { max-width: 100%; }
body.site-v2 a { color: var(--nm-blue-700); text-underline-offset: 3px; }
body.site-v2 h1, body.site-v2 h2, body.site-v2 h3, body.site-v2 h4 {
  margin: 0 0 .55em;
  color: var(--nm-ink);
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  letter-spacing: -.035em;
  line-height: 1.08;
}
body.site-v2 h1 { font-size: clamp(2rem, 3.8vw, 3.75rem); }
body.site-v2 h2 { font-size: clamp(1.45rem, 2.3vw, 2.3rem); }
body.site-v2 h3 { font-size: clamp(1.08rem, 1.5vw, 1.4rem); }
body.site-v2 p { margin: 0 0 1em; }
body.site-v2 ul, body.site-v2 ol { margin: 0 0 1em; padding-left: 1.35em; }
body.site-v2 button, body.site-v2 input, body.site-v2 select, body.site-v2 textarea { font: inherit; }
body.site-v2 :focus-visible { outline: 3px solid var(--nm-cyan-500); outline-offset: 2px; }

.site-header {
  position: relative;
  z-index: 1000;
  width: 100%;
  background: var(--nm-navy-950);
  border-top: 4px solid var(--nm-mint-400);
  border-bottom: 1px solid #3f7188;
  color: var(--nm-white);
}
.site-utility {
  width: min(var(--nm-content), calc(100% - 40px));
  min-height: 74px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(230px, 1fr) minmax(320px, 1.25fr) auto;
  align-items: center;
  gap: 22px;
}
.site-brand { display: inline-flex; align-items: center; gap: 12px; width: max-content; color: var(--nm-white) !important; text-decoration: none; }
.site-brand img { width: 46px; height: 46px; object-fit: contain; }
.site-brand span { display: grid; gap: 1px; text-transform: uppercase; }
.site-brand strong { color: var(--nm-white); font-size: .86rem; letter-spacing: .14em; line-height: 1; }
.site-brand small { color: #c5dce6; font: 700 .68rem/1.2 "DM Mono", Consolas, monospace; letter-spacing: .17em; }
.site-ad-slot {
  min-height: 42px;
  padding: 8px 12px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  border: 1px solid #42758b;
  background: #0c2d43;
  color: #bcd5df;
  font: 700 .72rem/1.2 "DM Mono", Consolas, monospace;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.site-ad-slot small { padding: 4px 7px; border: 1px solid #477f95; color: var(--nm-mint-400); }
.site-menu-button { display: none; }
.site-header .account-access { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: max-content; }
.site-header .account-access > * { flex: 0 0 auto; }
.site-header .sign-in-link, .site-header .nav-button, .site-header .account-access button, .site-header .account-access a {
  min-height: 38px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #5b8ca0;
  background: #123e59;
  color: var(--nm-white) !important;
  font-size: .76rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
}
.site-header .join-community { border-color: var(--nm-mint-400) !important; background: var(--nm-mint-400) !important; color: var(--nm-navy-950) !important; }
.site-nav-strip { min-height: 42px; border-top: 1px solid #2a5870; background: var(--nm-navy-900); }
.site-primary-nav { width: min(var(--nm-content), calc(100% - 40px)); margin: 0 auto; display: flex; align-items: stretch; overflow-x: auto; scrollbar-width: thin; }
.site-primary-nav a {
  min-height: 42px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  border-left: 1px solid #3b6b82;
  color: #e0eef4 !important;
  font-size: .78rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  white-space: nowrap;
}
.site-primary-nav a:last-child { border-right: 1px solid #3b6b82; }
.site-primary-nav a:hover, .site-primary-nav a[aria-current="page"] { background: #174f6d; color: var(--nm-mint-400) !important; box-shadow: inset 0 -4px 0 var(--nm-cyan-500); }

.site-main {
  width: min(var(--nm-content), calc(100% - 40px));
  min-height: calc(100vh - 121px);
  margin: 0 auto;
  padding: 14px 0 48px;
  display: grid;
  grid-template-columns: var(--nm-rail) minmax(0, 1fr);
  align-items: start;
  gap: 14px;
}
.site-content { min-width: 0; display: flow-root; }
.site-content > :first-child { margin-top: 0 !important; }
.site-content > section, .site-content > article, .site-content > aside, .site-content > div { max-width: none; }
.site-rail { position: sticky; top: 14px; display: grid; gap: 10px; }
.rail-module { border: 1px solid var(--nm-line); background: var(--nm-panel); box-shadow: var(--nm-shadow); }
body.site-v2 .rail-module h2 { margin: 0; padding: 9px 12px; border-bottom: 1px solid var(--nm-line); background: var(--nm-navy-900); color: var(--nm-white); font: 800 .78rem/1.2 "DM Mono", Consolas, monospace; letter-spacing: .09em; text-transform: uppercase; }
.rail-module > p { margin: 0; padding: 12px; color: var(--nm-muted); font-size: .82rem; line-height: 1.5; }
.rail-module nav { display: grid; }
.rail-module nav a { min-height: 42px; padding: 10px 12px; border-top: 1px solid var(--nm-line-soft); color: var(--nm-ink); font-size: .84rem; font-weight: 800; text-decoration: none; }
.rail-module nav a:hover { background: var(--nm-panel-alt); color: var(--nm-blue-700); }

/* Shared portal primitives */
body.site-v2 .eyebrow, body.site-v2 .section-label, body.site-v2 .pathway-kicker, body.site-v2 .wallet-label, body.site-v2 .digital-label {
  display: block;
  color: var(--nm-blue-700);
  font: 800 .7rem/1.35 "DM Mono", Consolas, monospace;
  letter-spacing: .13em;
  text-transform: uppercase;
}
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) {
  min-height: 0;
  margin: 0 0 16px;
  padding: 32px 36px;
  border: 1px solid #4d8198;
  border-bottom: 4px solid var(--nm-mint-400);
  background: linear-gradient(110deg, var(--nm-navy-950), var(--nm-navy-800) 72%, var(--nm-blue-700));
  color: var(--nm-white);
  box-shadow: var(--nm-shadow);
  overflow: visible;
}
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "])::before,
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "])::after { display: none; content: none; }
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) h1 { max-width: 940px; margin: 8px 0 14px; color: var(--nm-white); }
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) h2,
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) h3 { color: var(--nm-white); }
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) p { max-width: 850px; color: #dbeaf1; }
body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) .eyebrow { color: var(--nm-mint-400); }

body.site-v2 :where(.button, .nav-button, .primary-button, .coral-button, .small-button, button:not(.site-menu-button):not(.modal-close):not(.remove-stop)) {
  min-height: 40px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--nm-blue-700);
  border-radius: 0;
  background: var(--nm-blue-700);
  color: var(--nm-white);
  font-size: .82rem;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  box-shadow: none;
  cursor: pointer;
}
body.site-v2 a.button, body.site-v2 a.nav-button, body.site-v2 a.primary-button, body.site-v2 a.coral-button, body.site-v2 a.small-button { color: var(--nm-white); }
body.site-v2 :where(.button, .nav-button, .primary-button, .coral-button, .small-button, button):hover { border-color: var(--nm-mint-400); background: var(--nm-navy-900); color: var(--nm-white); }
body.site-v2 :where(.quiet-link, .text-link, .text-button, .outline-button, .desk-text-link, .desk-outline-button, .visa-back-link) { color: var(--nm-blue-700); font-size: .84rem; font-weight: 800; }
body.site-v2 input, body.site-v2 select, body.site-v2 textarea {
  width: 100%;
  max-width: 100%;
  min-height: 42px;
  padding: 9px 11px;
  border: 1px solid #819fad;
  border-radius: 0;
  background: var(--nm-white);
  color: var(--nm-ink);
  box-shadow: none;
}
body.site-v2 textarea { min-height: 110px; resize: vertical; }
body.site-v2 label { color: var(--nm-ink); font-size: .82rem; font-weight: 800; }
body.site-v2 table { width: 100%; border-collapse: collapse; background: var(--nm-panel); }
body.site-v2 th, body.site-v2 td { padding: 11px 12px; border: 1px solid var(--nm-line); text-align: left; vertical-align: top; }
body.site-v2 th { background: var(--nm-navy-900); color: var(--nm-white); font-size: .78rem; text-transform: uppercase; letter-spacing: .04em; }
body.site-v2 td { font-size: .88rem; }
body.site-v2 details { border: 1px solid var(--nm-line); background: var(--nm-panel); }
body.site-v2 summary { padding: 12px 14px; font-weight: 800; cursor: pointer; }
body.site-v2 hr { border: 0; border-top: 1px solid var(--nm-line); }

body.site-v2 :where(
  .panel, .profile-panel, .account-card, .account-setting-card, .card-shell,
  .home-match, .community-home-intro, .feature, .trip-card, .latest,
  .planner-step, .route-summary, .map-section, .route-workspace-map,
  .comparison-intro, .saved-budget-library, .comparison-export-bottom,
  .guide-callout, .guide-trust-panel, .content-classification,
  .visa-entry-card, .quick-fit, .visa-pathway, .visa-faq, .visa-disclaimer,
  .country-scorecard, .country-desk-research, .country-desk-review,
  .country-city-guide-card, .island-guide-card, .article-callout,
  .forum-message, .join-card, .move-plan-shell, .plan-section,
  .tax-box, .bank-card, .benefit-profile, .care-card, .shortcut-card,
  .audit-callout, .audit-section, .packet-section, .srrv-content
) {
  border: 1px solid var(--nm-line);
  border-radius: 0;
  background: var(--nm-panel);
  box-shadow: var(--nm-shadow);
}
body.site-v2 :where(.section-head, .panel-heading, .desk-section-heading, .country-scorecard-heading, .forum-heading, .moderation-heading) {
  padding: 12px 16px;
  border-bottom: 1px solid var(--nm-line);
  background: var(--nm-navy-900);
  color: var(--nm-white);
}
body.site-v2 :where(.section-head, .panel-heading, .desk-section-heading, .country-scorecard-heading, .forum-heading, .moderation-heading) h2,
body.site-v2 :where(.section-head, .panel-heading, .desk-section-heading, .country-scorecard-heading, .forum-heading, .moderation-heading) h3 { margin: 0; color: var(--nm-white); }

/* Home */
.home-page .site-content { display: grid; gap: 14px; }
.home-page .hero { margin: 0; }
.home-page .hero > div { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 18px; }
.home-page .hero .quiet-link { color: var(--nm-white); }
.home-desk-stats { margin: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--nm-line); background: var(--nm-panel); }
.home-desk-stats a { min-height: 105px; padding: 16px 18px; display: grid; align-content: start; gap: 5px; border-right: 1px solid var(--nm-line); color: var(--nm-ink) !important; text-decoration: none; }
.home-desk-stats a:last-child { border-right: 0; }
.home-desk-stats span { color: var(--nm-blue-700); font: 800 .7rem "DM Mono", Consolas, monospace; }
.home-desk-stats strong { font-size: 1.08rem; }
.home-desk-stats small { color: var(--nm-muted); font-size: .82rem; line-height: 1.45; }
.home-match { margin: 0; padding: 22px; border-top: 4px solid var(--nm-cyan-500) !important; }
.home-match-form { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 10px; align-items: end; }
.home-match-form label { display: grid; gap: 5px; }
.home-match-more { display: inline-block; margin-top: 14px; }
.community-home-intro { margin: 0; padding: 22px; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(260px, .7fr); gap: 18px; }
.community-home-intro aside { padding: 18px; background: var(--nm-navy-900); color: var(--nm-white); }
.community-home-intro aside strong, .community-home-intro aside span { display: block; }
.community-home-intro aside strong { margin: 8px 0; font-size: 1.2rem; }
.home-grid { margin: 0; padding: 0; display: grid; grid-template-columns: 1.2fr .8fr; gap: 14px; }
.home-grid .feature, .home-grid .trip-card { padding: 22px; }
.home-grid .trip-card { background: var(--nm-navy-900); color: var(--nm-white); }
.home-grid .trip-card strong { display: block; margin: 10px 0 2px; color: var(--nm-white); font-size: 2.1rem; }
.home-grid .trip-card div { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0; border-top: 1px solid #38677c; font-size: .82rem; }
.latest { margin: 0; padding: 22px; }
.article-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border: 1px solid var(--nm-line); }
.article-grid article { padding: 16px; border-right: 1px solid var(--nm-line); background: var(--nm-white); }
.article-grid article:last-child { border-right: 0; }
.article-grid h3 { font-size: 1.05rem; }

/* Guides, countries, visas, and research */
.guide-grid, .island-guide-grid, .country-city-guide-grid, .country-scorecard-grid, .desk-passport-grid, .quick-fit-grid, .city-test-grid, .season-grid, .insight-grid, .audit-grid, .bank-grid, .tax-work-planner-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.guide-card, .island-guide-card, .country-city-guide-card, .desk-passport-card, .quick-fit-grid > *, .city-test-grid > *, .season-grid > *, .insight-grid > * {
  min-width: 0;
  padding: 16px;
  border: 1px solid var(--nm-line);
  border-left: 4px solid var(--nm-cyan-500);
  background: var(--nm-panel);
  color: var(--nm-ink) !important;
  text-decoration: none;
}
.guide-card:hover, .island-guide-card:hover, .country-city-guide-card:hover { background: var(--nm-panel-alt); }
.guide-card h2, .island-guide-card h3, .country-city-guide-card h3 { font-size: 1.25rem; }
.guide-jump-nav, .guide-return-row, .visa-country-filter, .care-link-row, .srrv-hero-actions, .packet-actions { display: flex; flex-wrap: wrap; gap: 8px; margin: 12px 0; }
.guide-jump-nav a, .visa-country-filter button { min-height: 38px; padding: 8px 11px; border: 1px solid var(--nm-line); background: var(--nm-panel); color: var(--nm-ink); font-size: .78rem; font-weight: 800; text-decoration: none; }
.guide-trust-panel, .content-classification { margin: 0 0 14px; padding: 16px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 14px; align-items: center; }
.country-guide-desk, .practical-guide-page, .city-guide-page { min-width: 0; }
.country-desk-shell, .guide-intro-grid, .climate-section, .field-plan, .source-section, .country-desk-flow, .country-desk-passports, .country-desk-research, .country-desk-review {
  padding: 20px;
  border: 1px solid var(--nm-line);
  background: var(--nm-panel);
}
.practical-section { margin: 0 0 14px; padding: 20px; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.country-tool-workflow { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 18px; align-items: start; border-color: #4d8198; background: #eef8f7; }
.country-tool-workflow-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.country-tool-workflow-grid a { min-width: 0; min-height: 104px; padding: 14px; display: flex; flex-direction: column; gap: 6px; border: 1px solid var(--nm-line); border-left: 4px solid var(--nm-cyan-500); background: var(--nm-white); color: var(--nm-ink); text-decoration: none; }
.country-tool-workflow-grid a:hover { background: var(--nm-panel-alt); }
.country-tool-workflow-grid a:focus-visible { outline: 3px solid var(--nm-cyan-500); outline-offset: 2px; }
.country-tool-workflow-grid strong { font-size: .95rem; }
.country-tool-workflow-grid span { color: var(--nm-muted); font-size: .82rem; line-height: 1.5; }
@media (max-width: 700px) {
  .country-tool-workflow { grid-template-columns: 1fr; }
  .country-tool-workflow-grid { grid-template-columns: 1fr; }
  .country-tool-workflow-grid a { min-height: 0; }
}
.visa-guide-shell { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 16px; align-items: start; }
.visa-jump { position: sticky; top: 16px; display: grid; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.visa-jump > * { margin: 0; padding: 10px 12px; border-bottom: 1px solid var(--nm-line-soft); }
.visa-jump a { font-size: .8rem; font-weight: 800; text-decoration: none; }
.visa-guide-content { min-width: 0; display: grid; gap: 14px; }
.visa-guide-content > section, .visa-guide-content > article { margin: 0; padding: 20px; }
.visa-pathway { padding: 0 !important; overflow: hidden; }
.visa-pathway > :not(.pathway-kicker) { margin-left: 18px; margin-right: 18px; }
.pathway-kicker { margin: 0 0 16px !important; padding: 10px 14px; background: var(--nm-navy-900); color: var(--nm-white) !important; }
.pathway-columns, .pathway-facts, .visa-decision-snapshot { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.visa-fee-card, .visa-fee-detail, .visa-decision-snapshot > * { padding: 12px; border: 1px solid var(--nm-line-soft); background: var(--nm-white); }
.visa-official-links { padding: 20px; border: 1px solid #4d8198; background: var(--nm-navy-900); color: var(--nm-white); }
.visa-official-links h2, .visa-official-links a { color: var(--nm-white); }

/* Route, trip tools, and maps */
.trip-hub { margin: 0 0 14px; display: flex; align-items: stretch; overflow-x: auto; border: 1px solid #416f85; background: var(--nm-navy-900); scrollbar-width: thin; }
.trip-hub-title, .trip-hub a { min-height: 44px; padding: 0 14px; display: inline-flex; align-items: center; border-right: 1px solid #416f85; color: var(--nm-white) !important; font-size: .78rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.trip-hub-title { background: var(--nm-navy-950); color: var(--nm-mint-400) !important; text-transform: uppercase; }
.trip-hub a[aria-current="page"] { background: var(--nm-mint-400); color: var(--nm-navy-950) !important; box-shadow: inset 0 -4px 0 var(--nm-cyan-500); }
@media (max-width: 700px) {
  .trip-hub { width: 100%; max-width: 100%; min-width: 0; contain: inline-size; }
  .trip-hub-more { flex: 0 0 auto; }
}
.route-tool { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(340px, .75fr); gap: 16px; align-items: start; }
.route-tool > *, .planner-step, .route-summary { min-width: 0; }
.planner-step, .route-summary, .map-section { margin: 0 0 14px; padding: 18px; }
.route-summary { position: sticky; top: 16px; background: var(--nm-navy-900); color: var(--nm-white); }
.route-summary h2, .route-summary h3, .route-summary label { color: var(--nm-white); }
.country-picker, .comfort-picker, .route-primary-actions, .route-calendar-controls, .route-totals, .map-section { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.city-picker, .starter-template-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 9px; }
.country-picker button, .comfort-picker button, .city-picker button, .starter-template-grid button { min-height: 44px; padding: 9px 11px; border: 1px solid var(--nm-line); background: var(--nm-white); color: var(--nm-ink); text-align: left; }
.country-picker button.selected, .comfort-picker button.selected, .city-picker button.selected { border-color: var(--nm-cyan-500); background: #dff2f6; box-shadow: inset 4px 0 0 var(--nm-cyan-500); }
.route-stops { display: grid; gap: 8px; }
.route-stop { min-width: 0; padding: 10px; display: grid; grid-template-columns: 30px minmax(0, 1fr) 82px 62px 30px; gap: 8px; align-items: center; border: 1px solid #4c7890; background: #0d3048; }
.route-stop > * { min-width: 0; }
.route-stop input { min-width: 0; }
.route-stop small { color: #c7dce5; overflow-wrap: anywhere; }
.route-reorder-controls { display: flex; gap: 4px; }
.route-reorder-controls button, .remove-stop, .route-city-info { width: 30px; min-height: 30px !important; padding: 0 !important; }
.route-leg { border-color: #416f85 !important; background: #0b2940 !important; color: var(--nm-white); }
.route-leg summary { color: var(--nm-white); }
.route-workspace-map, .map-section { padding: 14px; }
#routeMap, #cityMap, .route-map, .leaflet-container { width: 100%; min-height: 360px; border: 1px solid var(--nm-line); background: #d9e6ec; }
.trip-status-page .site-content, .trip-timeline-page .site-content, .trip-itinerary-page .site-content, .trip-documents-page .site-content, .trip-review-page .site-content, .trip-readiness-page .site-content { display: grid; gap: 14px; }

/* Budgets, profile, account, forms, and utility tools */
.comparison-shell, .budget-layout, .profile-grid, .profile-shell, .join-shell, .move-plan-shell { min-width: 0; }
.comparison-shell, .budget-layout { display: grid; gap: 14px; }
.currency-grid, .comparison-grid, .saved-scenarios, .profile-grid, .shortcut-grid, .care-tools-grid, .account-settings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.currency-grid > *, .comparison-grid > *, .saved-scenarios > *, .profile-grid > *, .shortcut-grid > *, .care-tools-grid > *, .account-settings-grid > * { min-width: 0; padding: 16px; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.profile-hero { margin-bottom: 14px; }
.profile-panel, .account-card, .account-setting-card, .plan-section { margin: 0 0 14px; padding: 18px; }
.profile-actions, .profile-primary, .account-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.join-shell { display: grid; grid-template-columns: minmax(280px, .8fr) minmax(0, 1.2fr); gap: 16px; }
.join-intro, .join-card { padding: 22px; }
.join-card form, .feedback-page form, .move-plan-page form { display: grid; gap: 12px; }
.finder-question, .plan-section { padding: 18px; }
.finder-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.finder-options button.is-selected { border-color: var(--nm-mint-400); outline: 3px solid rgba(21, 190, 168, .28); background: var(--nm-navy-900); color: var(--nm-white); }
.finder-results .result-grid article { display: flex; flex-direction: column; align-items: stretch; gap: 10px; }
.finder-results .result-grid article :where(.button, .outline-button, .finder-route-link) { width: 100%; margin-top: 0; text-align: center; }
.finder-results .result-grid article .finder-route-link { min-height: 40px; display: inline-flex; align-items: center; justify-content: center; padding: 9px 12px; border: 1px solid var(--nm-blue-700); text-decoration: none; }
.finder-results .result-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }

/* Community and owner tools */
.forum-page .site-content { display: grid; gap: 14px; }
.classic-forum-shell, .city-forum-shell, .board-reading-shell, .country-forum-main, .forum-board-main, .discussion-shell { border: 1px solid var(--nm-line); background: var(--nm-panel); }
.classic-forum-bar, .country-board-header, .board-reading-shell > header { padding: 10px 14px; border-bottom: 1px solid var(--nm-line); background: var(--nm-navy-900); color: var(--nm-white); }
.classic-forum-bar h2, .country-board-header h1, .country-board-header h2 { margin: 0; color: var(--nm-white); }
.classic-forum-columns, .board-columns, .classic-board-row { display: grid; grid-template-columns: minmax(0, 1fr) 140px 120px; align-items: center; }
.classic-forum-columns > *, .board-columns > *, .classic-board-row > * { min-width: 0; padding: 11px 14px; border-right: 1px solid var(--nm-line-soft); border-bottom: 1px solid var(--nm-line-soft); }
.city-board-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; padding: 12px; }
.forum-post, .thread-reply, .moderation-card { padding: 16px; border-bottom: 1px solid var(--nm-line); background: var(--nm-white); }
.forum-breadcrumbs { padding: 9px 12px; border: 1px solid var(--nm-line); background: var(--nm-panel-alt); font-size: .8rem; }

/* Articles, legal pages, checklists, and health tools */
.article-page .site-content, .legal-page .site-content { display: grid; gap: 14px; }
.article-page .site-content > article, .article-page .site-content > section, .legal-page .site-content > article, .legal-page .site-content > section, .about-page .site-content > section { padding: 22px; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.article-lead { color: var(--nm-muted); font-size: 1.1rem; }
.check-list li, .packet-check, .tax-work-checklist li { margin-bottom: .55em; }
.health-money-page .site-content { display: grid; gap: 14px; }
.health-money-page .site-content > section { margin: 0; padding: 20px; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.tab-list, .health-tabs { display: flex; gap: 4px; overflow-x: auto; }
.tab-btn[aria-selected="true"], .tab-btn.active { background: var(--nm-mint-400) !important; color: var(--nm-navy-950) !important; }
.audit-table { overflow-x: auto; }
.packet-sheet { padding: 22px; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.status-badge, .fact-badge, .guide-type-badge, .mixed-badge, .opinion-badge { display: inline-flex; padding: 4px 7px; border: 1px solid var(--nm-line); background: var(--nm-panel-alt); color: var(--nm-ink); font-size: .7rem; font-weight: 800; text-transform: uppercase; }

.site-footer, .legal-footer {
  width: 100%;
  margin: 0;
  padding: 28px max(24px, calc((100% - var(--nm-content)) / 2));
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  border-top: 4px solid var(--nm-cyan-500);
  background: var(--nm-navy-950);
  color: #d5e6ed;
}
.site-footer .logo, .legal-footer .logo, .site-footer a, .legal-footer a { color: var(--nm-white); }
.footer-copy p { margin: 0; font-size: .78rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 14px; }
.footer-links a { font-size: .75rem; font-weight: 800; }

@media (max-width: 1180px) {
  :root { --nm-rail: 200px; }
  .site-utility { grid-template-columns: minmax(210px, 1fr) minmax(260px, .8fr) auto; }
  .site-primary-nav a { padding: 0 13px; }
  .home-match-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-grid, .island-guide-grid, .country-city-guide-grid, .country-scorecard-grid, .desk-passport-grid, .currency-grid, .comparison-grid, .profile-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .site-utility { width: 100%; min-height: 68px; padding: 0 16px; grid-template-columns: minmax(0, 1fr) auto auto; gap: 10px; }
  .site-ad-slot { display: none; }
  .site-menu-button { min-height: 38px; padding: 8px 11px; display: inline-flex; align-items: center; gap: 7px; border: 1px solid #5b8ca0; background: #123e59; color: var(--nm-white); font-size: .76rem; font-weight: 800; }
  .site-nav-strip { min-height: 0; border-top: 0; }
  .site-primary-nav { display: none; position: absolute; top: 100%; right: 0; left: 0; width: 100%; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid #3b6b82; background: var(--nm-navy-950); box-shadow: 0 10px 20px rgba(6, 23, 37, .28); }
  .site-header.menu-open .site-primary-nav { display: grid; }
  .site-primary-nav a { min-height: 50px; padding: 0 16px; border-right: 1px solid #3b6b82; border-bottom: 1px solid #3b6b82; }
  .site-main { width: calc(100% - 28px); min-height: 0; padding-top: 14px; grid-template-columns: minmax(0, 1fr); }
  .site-rail { display: none; }
  .visa-guide-shell { grid-template-columns: minmax(0, 1fr); }
  .visa-jump { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .route-tool { grid-template-columns: minmax(0, 1fr); }
  .route-summary { position: static; }
  .classic-forum-columns, .board-columns, .classic-board-row { grid-template-columns: minmax(0, 1fr) 110px; }
  .classic-forum-columns > :last-child, .board-columns > :last-child, .classic-board-row > :last-child { display: none; }
}

@media (max-width: 700px) {
  body.site-v2 { font-size: 15px; background-size: 20px 20px; }
  .site-brand img { width: 38px; height: 38px; }
  .site-brand strong { font-size: .72rem; }
  .site-brand small { font-size: .58rem; }
  .site-header .account-access { gap: 5px; }
  .site-header .account-access > :not(.notification-bell):not(.owner-shield):not(.sign-in-link):not(.site-session-controls) { display: none !important; }
  .site-header .sign-in-link, .site-header .account-access button, .site-header .account-access a { min-width: 38px; min-height: 38px; padding: 7px; font-size: .7rem; }
  .site-menu-button { min-width: 42px; padding: 7px 9px; }
  .site-menu-button span + * { display: none; }
  .site-main { width: 100%; padding: 10px 10px 40px; }
  body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) { margin-bottom: 10px; padding: 22px 18px; }
  body.site-v2 :where(.hero, .page-intro, .route-hero, [class$="-hero"], [class*="-hero "]) h1 { font-size: clamp(1.8rem, 9vw, 2.6rem); }
  .home-desk-stats, .home-grid, .community-home-intro, .home-match-form, .article-grid,
  .guide-grid, .island-guide-grid, .country-city-guide-grid, .country-scorecard-grid, .desk-passport-grid,
  .quick-fit-grid, .city-test-grid, .season-grid, .audit-grid, .bank-grid, .tax-work-planner-grid,
  .pathway-columns, .pathway-facts, .visa-decision-snapshot, .currency-grid, .comparison-grid,
  .saved-scenarios, .profile-grid, .shortcut-grid, .care-tools-grid, .account-settings-grid,
  .join-shell, .finder-options, .city-board-grid { grid-template-columns: minmax(0, 1fr); }
  .home-desk-stats a, .article-grid article { border-right: 0; border-bottom: 1px solid var(--nm-line); }
  .guide-trust-panel, .content-classification { grid-template-columns: minmax(0, 1fr); }
  .visa-jump { display: flex; overflow-x: auto; }
  .visa-jump > * { flex: 0 0 auto; }
  .route-stop { grid-template-columns: 28px minmax(0, 1fr) 58px 30px; }
  .route-stop .route-reorder-controls { display: none; }
  .route-calendar-controls, .route-totals, .map-section, .route-primary-actions { grid-template-columns: minmax(0, 1fr); }
  .country-picker, .comfort-picker, .city-picker, .starter-template-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  #routeMap, #cityMap, .route-map, .leaflet-container { min-height: 280px; }
  .classic-forum-columns, .board-columns, .classic-board-row { grid-template-columns: minmax(0, 1fr); }
  .classic-forum-columns > :not(:first-child), .board-columns > :not(:first-child), .classic-board-row > :not(:first-child) { display: none; }
  .site-footer, .legal-footer { padding: 24px 16px; align-items: flex-start; flex-direction: column; }
}

@media (max-width: 420px) {
  .site-utility { padding: 0 10px; gap: 6px; }
  .site-brand { gap: 7px; }
  .site-brand img { width: 34px; height: 34px; }
  .site-brand span { display: none; }
  .site-primary-nav { grid-template-columns: minmax(0, 1fr); }
  .country-picker, .comfort-picker, .city-picker, .starter-template-grid { grid-template-columns: minmax(0, 1fr); }
}

@media print {
  .site-header, .site-rail, .site-footer, .legal-footer, .trip-hub, .no-print { display: none !important; }
  .site-main { display: block; width: 100%; padding: 0; }
  .site-content { width: 100%; }
  body.site-v2 { background: #fff; color: #000; }
}

/* Audit corrections for generated route guidance and community rows. */
.first-trip-walkthrough { margin: 0 0 14px; padding: 18px; display: grid; grid-template-columns: minmax(220px,.7fr) minmax(0,1.3fr) auto; gap: 14px; align-items: center; border: 1px solid var(--nm-line); background: var(--nm-panel); }
.first-trip-walkthrough > div:first-child p:last-child { margin-bottom: 0; color: var(--nm-muted); }
.first-trip-steps { min-width: 0; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 8px; }
body.site-v2 .first-trip-steps button { min-width: 0; min-height: 86px; padding: 10px; display: grid; grid-template-columns: 24px minmax(0,1fr); grid-template-rows: auto 1fr; gap: 3px 7px; align-content: start; border-color: var(--nm-line); background: var(--nm-white); color: var(--nm-ink); text-align: left; }
.first-trip-steps button b { grid-row: 1 / 3; color: var(--nm-blue-700); font: 800 .78rem "DM Mono",Consolas,monospace; }
.first-trip-steps button span { font-weight: 800; line-height: 1.25; }
.first-trip-steps button small { color: var(--nm-muted); font-size: .72rem; line-height: 1.35; }
body.site-v2 .first-trip-finish { white-space: nowrap; }
body.site-v2 .classic-forum-bar { display: flex; justify-content: space-between; align-items: end; gap: 16px; }
body.site-v2 .classic-forum-bar .eyebrow { color: var(--nm-mint-400); }
body.site-v2 .classic-forum-bar h2 { margin: 2px 0 0; color: var(--nm-white); font-size: 1rem; }
body.site-v2 .classic-forum-bar > span { color: #c9dee7; font-size: .75rem; }
body.site-v2 .essential-board-grid .classic-board-row { min-height: 58px; display: grid; grid-template-columns: 34px minmax(0,1fr) 28px; align-items: center; border-bottom: 1px solid var(--nm-line-soft); color: var(--nm-ink); text-decoration: none; }
body.site-v2 .essential-board-grid .classic-board-row > * { min-width: 0; padding: 10px 12px; }
body.site-v2 .classic-board-row .board-copy { display: grid; gap: 2px; }
body.site-v2 .classic-board-row .board-copy small { color: var(--nm-muted); font-size: .72rem; line-height: 1.35; }
body.site-v2 .country-board-list .classic-board-row { min-height: 60px; display: grid; grid-template-columns: 34px minmax(0,1fr) 70px 70px 150px 28px; align-items: center; border-bottom: 1px solid var(--nm-line-soft); color: var(--nm-ink); text-decoration: none; }
body.site-v2 .country-board-list .classic-board-row > * { min-width: 0; padding: 10px 12px; }
body.site-v2 .board-stat, body.site-v2 .board-latest { font-size: .76rem; }
body.site-v2 .board-stat small, body.site-v2 .board-latest small { display: block; color: var(--nm-muted); font-size: .65rem; }
@media(max-width:960px){.first-trip-walkthrough{grid-template-columns:minmax(0,1fr)}.country-board-list .board-latest{display:none!important}body.site-v2 .country-board-list .classic-board-row{grid-template-columns:34px minmax(0,1fr) 62px 62px 28px}}
@media(max-width:700px){.first-trip-steps{grid-template-columns:minmax(0,1fr)}.first-trip-walkthrough:not(.show-steps) .first-trip-steps{display:none}.first-trip-walkthrough{padding:14px}.classic-forum-bar{align-items:flex-start!important;flex-direction:column}.classic-forum-bar>span{display:none}.country-board-list .board-stat{display:none!important}body.site-v2 .country-board-list .classic-board-row{grid-template-columns:34px minmax(0,1fr) 28px}}
/* Framework completion: embedded-style page types and nested hero surfaces. */
body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) h1,
body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) h2,
body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) h3 { color: var(--nm-white); }
body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) p { color: #dbeaf1; }
body.site-v2 .content-classification { min-height:0; padding:14px 16px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:center; }
body.site-v2 .content-classification p { margin:0; color:var(--nm-muted); font-size:.82rem; line-height:1.45; }
body.site-v2 .guide-trust-panel { margin:0 0 14px; padding:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); }
body.site-v2 .guide-trust-panel>div { min-width:0; padding:12px 14px; display:grid; gap:4px; border-right:1px solid var(--nm-line-soft); }
body.site-v2 .guide-trust-panel>div:last-child { border-right:0; }
body.site-v2 .guide-trust-panel span { color:var(--nm-blue-700); font:800 .65rem "DM Mono",Consolas,monospace; text-transform:uppercase; }
body.site-v2 .guide-trust-panel strong { font-size:.76rem; line-height:1.4; overflow-wrap:anywhere; }
body.site-v2 .country-desk-hero .country-desk-shell,
body.site-v2 .move-plan-hero .move-plan-shell { margin:0; padding:0; border:0; background:transparent; box-shadow:none; }
body.site-v2 .country-desk-hero .desk-topline { display:flex; justify-content:space-between; gap:12px; margin-bottom:18px; }
body.site-v2 .country-desk-hero .desk-topline a,
body.site-v2 .country-desk-hero .desk-topline span { color:#dbeaf1; font-size:.75rem; font-weight:800; }
body.site-v2 .country-desk-hero .country-desk-lede,
body.site-v2 .country-desk-hero .country-desk-review { max-width:850px; color:#dbeaf1; }
body.site-v2 .country-desk-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding:0; }
body.site-v2 .country-desk-flow>article { min-width:0; padding:18px; border-right:1px solid var(--nm-line); }
body.site-v2 .country-desk-flow>article:last-child { border-right:0; }
body.site-v2 .move-plan-hero .hero-actions { display:flex; flex-wrap:wrap; gap:9px; margin-top:16px; }
body.site-v2 .move-plan-hero .outline-button { color:var(--nm-white); }
body.site-v2 .move-plan-workspace { padding:20px; }
body.site-v2 .move-plan-heading { display:flex; justify-content:space-between; align-items:end; gap:18px; }
body.site-v2 .plan-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; align-items:center; }
body.site-v2 .move-plan-progress { margin:14px 0; padding:12px 14px; display:grid; grid-template-columns:minmax(0,1fr) minmax(180px,.55fr); gap:14px; align-items:center; border:1px solid var(--nm-line); background:var(--nm-panel-alt); }
body.site-v2 .move-plan-progress div { display:grid; gap:3px; }
body.site-v2 .move-plan-progress span { color:var(--nm-muted); font-size:.78rem; }
body.site-v2 .move-plan-progress progress { width:100%; height:16px; }
body.site-v2 .first-trip-walkthrough { grid-template-columns:minmax(0,1fr); }
body.site-v2 .first-trip-finish { justify-self:start; }

body.site-v2.health-money-page header.top { margin:0; padding:30px max(24px,calc((100% - var(--nm-content))/2)); border:0; border-bottom:4px solid var(--nm-mint-400); background:linear-gradient(110deg,var(--nm-navy-950),var(--nm-navy-800) 72%,var(--nm-blue-700)); color:var(--nm-white); }
body.site-v2.health-money-page header.top .wrap { width:min(var(--nm-content),100%); margin:0 auto; }
body.site-v2.health-money-page header.top h1 { max-width:850px; margin:8px 0 12px; color:var(--nm-white); }
body.site-v2.health-money-page header.top p { max-width:760px; color:#dbeaf1; }
body.site-v2.health-money-page nav.tabs { margin-top:18px; display:flex; flex-wrap:wrap; gap:6px; }
body.site-v2.health-money-page nav.tabs button { min-height:40px; padding:8px 12px; border:1px solid #5b8ca0; background:#123e59; color:var(--nm-white); }
body.site-v2.health-money-page nav.tabs button.active { border-color:var(--nm-mint-400); background:var(--nm-mint-400); color:var(--nm-navy-950); }
body.site-v2.health-money-page .panel { display:none; margin:0; padding:18px; }
body.site-v2.health-money-page .panel.active { display:block; }
body.site-v2.health-money-page .research-stage { margin:0 0 14px; padding:12px 14px; border:1px solid #559078; background:#e9f4ee; color:#244f3f; font-size:.78rem; }
body.site-v2.health-money-page .card-shell { padding:18px; }
body.site-v2.health-money-page .lookup-row,
body.site-v2.health-money-page .tax-work-planner-grid,
body.site-v2.health-money-page .insurance-grid,
body.site-v2.health-money-page .bank-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
body.site-v2.health-money-page .field { min-width:0; display:grid; gap:5px; }
body.site-v2.health-money-page .aff-note,
body.site-v2.health-money-page .note { padding:10px 12px; border:1px solid var(--nm-line); background:var(--nm-panel-alt); color:var(--nm-muted); font-size:.76rem; }
body.site-v2.health-money-page .result { margin-top:14px; border:1px solid var(--nm-line); background:var(--nm-white); }
body.site-v2.health-money-page .result:not(.show) { display:none; }
body.site-v2.health-money-page .result-head,
body.site-v2.health-money-page .result-body { padding:14px; }
body.site-v2.health-money-page .section-head { margin:-18px -18px 16px; display:flex; justify-content:space-between; align-items:end; gap:16px; }
body.site-v2.health-money-page section { margin-top:14px; }
body.site-v2.health-money-page .tax-work-planner { padding:16px; border:1px solid var(--nm-line); background:var(--nm-white); }

body.site-v2 .packet-sheet,
body.site-v2 .budget-plan-print,
body.site-v2 .owner-backup-guide { max-width:1100px; margin:0 auto; }
@media(max-width:1100px){body.site-v2 .guide-trust-panel{grid-template-columns:repeat(2,minmax(0,1fr))}body.site-v2 .guide-trust-panel>div:nth-child(2){border-right:0}.country-desk-flow{grid-template-columns:minmax(0,1fr)!important}.country-desk-flow>article{border-right:0!important;border-bottom:1px solid var(--nm-line)}}
@media(max-width:700px){body.site-v2 .content-classification,body.site-v2 .guide-trust-panel,body.site-v2 .move-plan-progress,body.site-v2.health-money-page .lookup-row,body.site-v2.health-money-page .tax-work-planner-grid,body.site-v2.health-money-page .insurance-grid,body.site-v2.health-money-page .bank-grid{grid-template-columns:minmax(0,1fr)}body.site-v2 .guide-trust-panel>div{border-right:0;border-bottom:1px solid var(--nm-line-soft)}body.site-v2 .move-plan-heading{align-items:flex-start;flex-direction:column}body.site-v2 .plan-actions{justify-content:flex-start}body.site-v2.health-money-page header.top{padding:22px 14px}body.site-v2.health-money-page nav.tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Final audit corrections: readable utility text and contained data tables. */
body.site-v2 .site-brand strong { font-size:.84rem; }
body.site-v2 .site-utility{grid-template-columns:auto auto minmax(260px,1fr) auto;gap:14px}body.site-v2 .site-theme-toggle{min-height:34px;padding:5px 8px;display:inline-flex;align-items:center;gap:7px;border:1px solid #64748b;border-radius:18px;background:#1f2937;color:#e5edf6;font-size:.72rem;font-weight:800;white-space:nowrap}.site-theme-toggle:hover{background:#334155}.theme-toggle-track{width:30px;height:16px;display:block;position:relative;border-radius:999px;background:#718096;transition:background .2s ease}.theme-toggle-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .2s ease}.site-theme-toggle.is-dark .theme-toggle-track{background:#38b2ac}.site-theme-toggle.is-dark .theme-toggle-thumb{transform:translateX(14px)}
body.theme-dark{background:#101720;color:#e7edf5}body.theme-dark :is(.join-card,.account-card,.account-setting-card,.profile-panel,.panel,.card-shell,.form-card,.auth-card){background:#172432!important;border-color:#3a4e64!important;color:#e8f0f8!important}body.theme-dark :is(.join-card,.account-card,.account-setting-card,.profile-panel,.panel,.card-shell,.form-card,.auth-card) :is(p,label,small,span){color:#afbfce}body.theme-dark :is(.join-card,.account-card,.account-setting-card,.profile-panel,.panel,.card-shell,.form-card,.auth-card) :is(h1,h2,h3,strong){color:#e8f0f8}body.theme-dark :is(.join-card,.account-card,.account-setting-card,.profile-panel,.panel,.card-shell,.form-card,.auth-card) :is(input,select,textarea){background:#111e2b!important;border-color:#3a4e64!important;color:#e8f0f8!important}
body.site-v2 .site-brand small { font-size:.7rem; }
body.site-v2 .site-ad-slot { font-size:.75rem; }
body.site-v2 .site-ad-slot small { font-size:.7rem; }
body.site-v2 .country-compare-scroll { width:100%; max-width:100%; overflow-x:auto; overscroll-behavior-inline:contain; }
body.site-v2 .country-compare-scroll table { min-width:720px; }
@media(max-width:700px){body.site-v2 .site-brand strong{font-size:.76rem}body.site-v2 .site-brand small{font-size:.68rem}}
@media print { body.site-v2 > .site-header, body.site-v2 > .site-footer, body.site-v2 .site-rail { display:none!important; } body.site-v2 .site-main { display:block; width:100%; padding:0; } }

/* Human-review corrections: compact footer brand and readable saved-data notes. */
body.site-v2 :is(.site-footer,.legal-footer) .logo { width:auto; display:inline-flex; align-items:center; gap:10px; color:var(--nm-white); text-decoration:none; }
body.site-v2 :is(.site-footer,.legal-footer) .logo img { width:42px; height:42px; object-fit:contain; }
body.site-v2 :is(.site-footer,.legal-footer) .logo span { display:inline-flex; align-items:baseline; gap:4px; font-size:.8rem; text-transform:uppercase; letter-spacing:.08em; }
body.site-v2 small.local-entry { font-size:.75rem; line-height:1.45; }
body.site-v2 .plan-actions #planSaved { min-width:0; padding:6px 9px; border:1px solid var(--nm-line); background:var(--nm-panel-alt); color:var(--nm-muted); font-size:.75rem; }

/* Final control and footer alignment. */
body.site-v2 .plan-actions .outline-button { background:var(--nm-white)!important; color:var(--nm-blue-700)!important; border-color:var(--nm-blue-700)!important; }
body.site-v2 :is(.site-footer,.legal-footer) nav,
body.site-v2 :is(.site-footer,.legal-footer)>div:last-child { display:flex; flex-wrap:wrap; align-items:center; gap:10px 14px; }
body.site-v2 :is(.site-footer,.legal-footer)>div:first-child { display:grid; gap:3px; }
body.site-v2 :is(.site-footer,.legal-footer)>div:first-child span { color:#c5dce6; font-size:.78rem; }

/* Preserve internal page heroes and keep country review notices readable. */
body.site-v2 .country-desk-hero .country-desk-review { padding:12px 14px; border:1px solid rgba(146,240,218,.45); background:rgba(6,31,48,.55); color:#e6f4f8; }
body.site-v2 .country-desk-hero .country-desk-review strong { color:var(--nm-white); }

/* Senior-readability floor for compact forum metadata. */
body.site-v2 .board-stat small, body.site-v2 .board-latest small { font-size:.72rem; }

/* Human-review data spacing: currency references and scorecard sublabels. */
body.site-v2 .comparison-rates { padding:14px max(20px,calc((100% - var(--nm-content))/2)); }
body.site-v2 .comparison-rates .rate-line>div:first-child { display:flex; flex-wrap:wrap; align-items:center; gap:5px 10px; margin-bottom:10px; }
body.site-v2 .comparison-rates .rate-line>div:first-child strong { color:var(--nm-navy-950); }
body.site-v2 .comparison-rates .currency-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
body.site-v2 .comparison-rates .currency-card { min-width:0; padding:12px 14px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 10px; align-items:center; border:1px solid var(--nm-line); background:var(--nm-panel); }
body.site-v2 .comparison-rates .currency-card strong { justify-self:end; color:var(--nm-navy-950); }
body.site-v2 .comparison-rates .currency-card small { grid-column:1/-1; display:block; color:var(--nm-muted); font-size:.75rem; }
body.site-v2 .country-scorecard-grid article p small { display:block; margin-top:5px; color:var(--nm-muted); font-size:.75rem; line-height:1.4; }
@media(max-width:960px){body.site-v2 .comparison-rates .currency-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){body.site-v2 .comparison-rates{padding:10px}body.site-v2 .comparison-rates .currency-grid{grid-template-columns:minmax(0,1fr)}}

/* Trip tool continuity: show why tools are unavailable before a named trip exists. */
.trip-hub-note{display:block;flex-basis:100%;padding:7px 12px;border-top:1px solid rgba(135,213,232,.28);color:#c7e6ee;font-size:.76rem;line-height:1.35;}
.trip-hub a.requires-saved-trip{opacity:.9;border-style:solid;}

/* Unified planning-portal visual system. */
:root{--nm-navy-950:#081c2b;--nm-navy-900:#0d2b3e;--nm-navy-800:#123c51;--nm-blue-700:#146b88;--nm-cyan-500:#24a9a2;--nm-mint-400:#75d6ca;--nm-ink:#163147;--nm-muted:#5f7380;--nm-line:#c6d5dc;--nm-line-soft:#deeaee;--nm-canvas:#edf4f6;--nm-panel:#fff;--nm-panel-alt:#f5fafb;--nm-shadow:0 10px 26px rgba(19,54,72,.08),0 1px 2px rgba(19,54,72,.08);--nm-content:1440px;--nm-rail:216px}
html{background:var(--nm-canvas)}
body.site-v2{background-color:var(--nm-canvas);background-image:radial-gradient(circle at 14% 8%,rgba(36,169,162,.1),transparent 28rem),linear-gradient(rgba(21,80,104,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(21,80,104,.035) 1px,transparent 1px);background-size:auto,32px 32px,32px 32px;color:var(--nm-ink);font-size:16px}
body.site-v2 h1,body.site-v2 h2,body.site-v2 h3,body.site-v2 h4{letter-spacing:-.045em}body.site-v2 h1{font-size:clamp(2.15rem,4vw,4.1rem)}body.site-v2 h2{font-size:clamp(1.55rem,2.4vw,2.55rem)}body.site-v2 p,body.site-v2 li{line-height:1.62}body.site-v2 :focus-visible{outline-color:#e5a23d;outline-offset:3px}
.site-header{border-top:3px solid var(--nm-cyan-500);border-bottom-color:#1f526a;box-shadow:0 4px 18px rgba(5,26,39,.18)}.site-utility{min-height:70px;gap:26px}.site-brand{gap:10px}.site-brand img{width:42px;height:42px}.site-brand strong{font-size:.78rem;letter-spacing:.16em}.site-ad-slot{min-height:34px;padding:7px 10px;border-radius:5px;border-color:#29556b;background:rgba(6,26,39,.62)}.site-header .sign-in-link,.site-header .nav-button,.site-header .account-access button,.site-header .account-access a{min-height:34px;border-radius:5px}.site-nav-strip{min-height:38px;background:#0b2536}.site-primary-nav a{min-height:38px;padding:0 16px;border-color:#23475b;font-size:.74rem;letter-spacing:.01em}.site-primary-nav a:hover,.site-primary-nav a[aria-current=page]{background:#16495e;color:#a3ece2!important;box-shadow:inset 0 -3px 0 var(--nm-cyan-500)}
.site-main{width:min(var(--nm-content),calc(100% - 48px));padding:24px 0 56px;gap:22px}.site-rail{top:22px;gap:14px}.rail-module{overflow:hidden;border-color:var(--nm-line);border-radius:8px;background:rgba(255,255,255,.88);box-shadow:var(--nm-shadow)}body.site-v2 .rail-module h2{padding:10px 13px;border:0;background:#0c2d40;font-size:.7rem;letter-spacing:.12em}.rail-module>p{padding:12px 13px 10px;font-size:.78rem;line-height:1.48}.rail-module nav a{min-height:38px;padding:9px 13px;border-color:var(--nm-line-soft);font-size:.8rem;font-weight:700}.rail-module nav a:hover{background:#e9f7f6;color:#0d6e76}
body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]){position:relative;min-height:0;margin-bottom:22px;padding:34px 38px 32px;border:1px solid #1d576c;border-radius:12px;border-bottom:0;background:linear-gradient(125deg,rgba(9,31,46,.98),rgba(13,58,76,.96) 66%,rgba(19,105,124,.94)),#0d364a;box-shadow:0 16px 32px rgba(10,43,58,.17);overflow:hidden}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "])::after{display:block;content:"";position:absolute;inset:auto 38px 0;height:4px;border-radius:4px 4px 0 0;background:linear-gradient(90deg,var(--nm-cyan-500),#82d8ce 45%,transparent 78%)}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) h1{margin:7px 0 12px;max-width:880px}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) p{max-width:760px;color:#d1e7eb;font-size:1rem}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) .eyebrow{color:#82e0d5}
body.site-v2 :where(.panel,.profile-panel,.account-card,.account-setting-card,.card-shell,.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.route-summary,.map-section,.route-workspace-map,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content){border-color:var(--nm-line);border-radius:10px;box-shadow:var(--nm-shadow)}body.site-v2 :where(.section-head,.panel-heading,.desk-section-heading,.country-scorecard-heading,.forum-heading,.moderation-heading){padding:12px 16px;border-bottom-color:#214e62;border-radius:9px 9px 0 0;background:#103347}body.site-v2 :where(.button,.nav-button,.primary-button,.coral-button,.small-button,button:not(.site-menu-button):not(.modal-close):not(.remove-stop)){min-height:38px;border-radius:6px;border-color:#147b8a;background:#147b8a;box-shadow:0 2px 0 rgba(4,52,67,.22)}body.site-v2 :where(.button,.nav-button,.primary-button,.coral-button,.small-button,button):hover{background:#0f6672;border-color:#0f6672}body.site-v2 input,body.site-v2 select,body.site-v2 textarea{border-color:#b9ced7;border-radius:5px;background:#fff}body.site-v2 table{overflow:hidden;border-radius:8px;box-shadow:var(--nm-shadow)}body.site-v2 th{background:#103347}
.home-desk-stats{gap:10px;padding:0;background:transparent;border:0}.home-desk-stats a{min-height:126px;padding:18px;border:1px solid var(--nm-line);border-radius:9px;background:rgba(255,255,255,.9);box-shadow:var(--nm-shadow)}.home-desk-stats a+a{border-left:1px solid var(--nm-line)}.home-desk-stats a:hover{transform:translateY(-2px);border-color:#78c9c5}.home-match,.community-home-intro,.home-grid .feature,.home-grid .trip-card{padding:24px}.home-match{border-top:3px solid var(--nm-cyan-500)!important}.site-footer,.legal-footer{padding-top:30px;padding-bottom:30px;border-top-width:3px;background:#081c2b}
@media(max-width:960px){.site-main{width:min(100% - 28px,var(--nm-content));padding-top:16px}.site-utility{min-height:62px}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]){padding:25px 22px 26px;border-radius:9px}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "])::after{inset-left:22px;inset-right:22px}}
@media(max-width:600px){body.site-v2{background-size:auto,26px 26px,26px 26px}.site-main{width:min(100% - 20px,var(--nm-content));padding-bottom:36px}.rail-module{border-radius:7px}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]){padding:22px 18px 24px}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "])::after{inset-left:18px;inset-right:18px}.home-desk-stats a{min-height:0;padding:16px}}

/* The switch is a first-class header control, never a displaced account action. */
body.site-v2 .site-utility{grid-template-columns:auto auto minmax(260px,1fr) auto auto;gap:14px}
body.site-v2 .site-theme-toggle{grid-column:2;min-height:34px;padding:5px 8px;display:inline-flex;align-items:center;gap:7px;border:1px solid #64748b;border-radius:18px;background:#1f2937;color:#e5edf6;font-size:.72rem;font-weight:800;white-space:nowrap;cursor:pointer}
body.site-v2 .site-ad-slot{grid-column:3}
body.site-v2 .site-menu-button{grid-column:4}
body.site-v2 .site-header .account-access{grid-column:5;justify-self:end}
body.site-v2 .theme-toggle-track{width:30px;height:16px;display:block;position:relative;border-radius:999px;background:#718096;transition:background .2s ease}
body.site-v2 .theme-toggle-thumb{position:absolute;top:2px;left:2px;width:12px;height:12px;border-radius:50%;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.35);transition:transform .2s ease}
body.site-v2 .site-theme-toggle.is-dark .theme-toggle-track{background:#38b2ac}
body.site-v2 .site-theme-toggle.is-dark .theme-toggle-thumb{transform:translateX(14px)}
body.site-v2 .site-theme-toggle:hover{background:#334155}

/* Apply dark mode to the account and join views, not only planning workspaces. */
body.site-v2.theme-dark{background-color:#101720;color:#e7edf5}
body.site-v2.theme-dark .join-intro,body.site-v2.theme-dark .membership-benefits{color:#c5d3df!important}
body.site-v2.theme-dark .join-card{background:#172432!important;border-color:#3a4e64!important;color:#e8f0f8!important}
body.site-v2.theme-dark .join-card :is(p,label,small,span){color:#c5d3df!important}
body.site-v2.theme-dark .join-card :is(h1,h2,h3,strong,legend){color:#f0f6fb!important}
body.site-v2.theme-dark .join-card :is(input,select,textarea){background:#111e2b!important;border-color:#4a6177!important;color:#f0f6fb!important}

@media(max-width:960px){
  body.site-v2 .site-utility{grid-template-columns:auto auto minmax(0,1fr) auto auto;gap:8px}
  body.site-v2 .site-ad-slot{display:none}
  body.site-v2 .site-theme-toggle .theme-toggle-label{display:none}
  body.site-v2 .site-header .account-access{grid-column:5}
}
@media(max-width:600px){
  body.site-v2 .site-utility{padding:0 10px;gap:6px}
  body.site-v2 .site-header .account-access{min-width:0;gap:5px}
  body.site-v2 .site-header .account-access .site-session-label{display:none}
}

/* Product palette: slate and blue for planning, green only for a completed choice. */
:root{--nm-navy-950:#111827;--nm-navy-900:#182436;--nm-navy-800:#243249;--nm-blue-700:#2563eb;--nm-cyan-500:#3b82f6;--nm-mint-400:#93c5fd;--nm-ink:#172033;--nm-muted:#64748b;--nm-line:#d6dee9;--nm-line-soft:#e8edf3;--nm-canvas:#f1f5f9;--nm-panel:#ffffff;--nm-panel-alt:#f8fafc;--nm-shadow:0 12px 30px rgba(15,23,42,.08),0 1px 3px rgba(15,23,42,.08)}
body.site-v2{background-color:var(--nm-canvas);background-image:radial-gradient(circle at 12% 5%,rgba(59,130,246,.10),transparent 26rem),linear-gradient(rgba(71,85,105,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(71,85,105,.045) 1px,transparent 1px)}
.site-header{border-top-color:#3b82f6;border-bottom-color:#334155;background:#111827}.site-ad-slot{border-color:#475569;background:#162033;color:#cbd5e1}.site-ad-slot small{border-color:#64748b;color:#bfdbfe}.site-header .sign-in-link,.site-header .nav-button,.site-header .account-access button,.site-header .account-access a{border-color:#475569;background:#1f2937}.site-header .join-community{border-color:#3b82f6!important;background:#3b82f6!important;color:#fff!important}.site-nav-strip{background:#182436}.site-primary-nav a{border-color:#334155;color:#dbeafe!important}.site-primary-nav a:hover,.site-primary-nav a[aria-current=page]{background:#263b58;color:#fff!important;box-shadow:inset 0 -3px 0 #3b82f6}
body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]){border-color:#2f4f77;background:linear-gradient(120deg,#111827 0%,#182c46 58%,#1e3a5f 100%),#182436}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "])::after{background:linear-gradient(90deg,#3b82f6,#93c5fd 48%,transparent 80%)}body.site-v2 :where(.hero,.page-intro,.route-hero,[class$="-hero"],[class*="-hero "]) .eyebrow{color:#bfdbfe}
body.site-v2 :where(.button,.nav-button,.primary-button,.coral-button,.small-button,button:not(.site-menu-button):not(.modal-close):not(.remove-stop)){border-color:#2563eb;background:#2563eb;box-shadow:0 2px 0 rgba(30,64,175,.25)}body.site-v2 :where(.button,.nav-button,.primary-button,.coral-button,.small-button,button):hover{border-color:#1d4ed8;background:#1d4ed8}
body.site-v2 :where(.section-head,.panel-heading,.desk-section-heading,.country-scorecard-heading,.forum-heading,.moderation-heading),body.site-v2 .rail-module h2{background:#182436}.rail-module nav a:hover{background:#eff6ff;color:#1d4ed8}.home-desk-stats a:hover{border-color:#93c5fd}.home-match{border-top-color:#3b82f6!important}.site-footer,.legal-footer{border-top-color:#3b82f6;background:#111827}

/* Community forum: dense, original portal hierarchy for scanning boards and activity. */
body.forum-page .site-content{display:grid;gap:16px}body.forum-page .forum-directory-hero{margin:0;padding:26px 30px 25px;position:relative;border:1px solid #334f73;border-radius:10px;background:linear-gradient(120deg,#111827,#1e3a5f);box-shadow:var(--nm-shadow);overflow:hidden}body.forum-page .forum-directory-hero::after{content:"";position:absolute;left:30px;right:30px;bottom:0;height:3px;background:linear-gradient(90deg,#3b82f6,#93c5fd 45%,transparent 78%)}body.forum-page .forum-directory-hero h1{max-width:760px;margin:5px 0 10px;color:#fff;font-size:clamp(2rem,3.5vw,3.25rem)}body.forum-page .forum-directory-hero p:not(.eyebrow){max-width:720px;margin-bottom:16px;color:#dbeafe;font-size:.96rem}body.forum-page .forum-directory-hero .eyebrow{color:#bfdbfe}
body.forum-page .classic-forum-shell,body.forum-page .forum-activity-dashboard,body.forum-page .forum-index-note{margin:0;border:1px solid var(--nm-line);border-radius:9px;background:rgba(255,255,255,.94);box-shadow:var(--nm-shadow);overflow:hidden}body.forum-page .classic-forum-bar{min-height:58px;padding:11px 16px;display:flex;align-items:center;justify-content:space-between;gap:18px;border:0;background:#182436;color:#fff}body.forum-page .classic-forum-bar .eyebrow{margin:0 0 3px;color:#93c5fd;font-size:.62rem}body.forum-page .classic-forum-bar h2{font-size:1.05rem;letter-spacing:-.025em}body.forum-page .classic-forum-bar>span{color:#cbd5e1;font-size:.72rem}
body.forum-page .essential-board-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;background:#fff}body.forum-page .essential-board-grid .classic-board-row{min-height:112px;padding:16px;grid-template-columns:34px minmax(0,1fr);align-content:start;gap:10px;border:0;border-right:1px solid var(--nm-line-soft);background:#fff;transition:background .18s ease}body.forum-page .essential-board-grid .classic-board-row:last-child{border-right:0}body.forum-page .essential-board-grid .classic-board-row:hover,body.forum-page .country-board-list .classic-board-row:hover{background:#f4f8ff}body.forum-page .board-glyph{width:26px;height:26px;padding:0!important;display:grid;place-items:center;border:1px solid #bfdbfe;border-radius:5px;background:#eff6ff;color:#2563eb;font:800 .78rem/1 "DM Mono",monospace}body.forum-page .essential-board-grid .board-arrow{display:none}body.forum-page .board-copy strong{font-size:.9rem;letter-spacing:-.015em}body.forum-page .board-copy small{font-size:.74rem!important;line-height:1.42!important}
body.forum-page .classic-forum-columns{display:grid;grid-template-columns:minmax(0,1fr) 78px 78px 180px 36px;padding:0;background:#f1f5f9;color:#64748b;font:800 .65rem/1 "DM Mono",monospace;letter-spacing:.07em;text-transform:uppercase}body.forum-page .classic-forum-columns>*{padding:10px 14px;border:0}.classic-forum-columns>*:last-child{display:block}body.forum-page .country-board-list .classic-board-row{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) 78px 78px 180px 36px;gap:0;border:0;border-top:1px solid var(--nm-line-soft);background:#fff;transition:background .18s ease,color .18s ease}body.forum-page .country-board-list .classic-board-row>*{padding:11px 14px;border:0}.country-board-list .board-glyph{align-self:center;justify-self:center}.country-board-list .board-copy{gap:3px}.country-board-list .board-copy strong{font-size:.95rem}.country-board-list .board-stat{border-left:1px solid var(--nm-line-soft);text-align:center;font-size:.85rem;font-weight:800}.country-board-list .board-stat small,.country-board-list .board-latest small{margin-top:2px;font-size:.63rem}.country-board-list .board-latest{border-left:1px solid var(--nm-line-soft);font-size:.75rem}.country-board-list .board-arrow{align-self:center;justify-self:center;color:#2563eb;font-size:1.05rem}
body.forum-page .forum-activity-dashboard{display:grid;grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);gap:0;padding:0;background:#fff}body.forum-page .forum-activity-heading{padding:24px;border-right:1px solid var(--nm-line-soft);background:#f8fafc}body.forum-page .forum-activity-heading h2{font-size:1.45rem}body.forum-page .forum-search-panel{padding:22px;border:0;background:#fff}body.forum-page .forum-search-controls{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px auto;gap:8px;align-items:end}body.forum-page .forum-search-controls label{font-size:.72rem;font-weight:800}body.forum-page .forum-activity-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--nm-line-soft)}body.forum-page .forum-activity-panel{padding:20px;border:0;background:#fff}body.forum-page .forum-activity-panel+.forum-activity-panel{border-left:1px solid var(--nm-line-soft)}body.forum-page .forum-activity-panel h3{font-size:1rem}body.forum-page .forum-index-note{padding:22px 24px;display:flex;align-items:center;justify-content:space-between;gap:20px;background:#eff6ff}.forum-index-note h2{margin-bottom:6px;font-size:1.35rem}.forum-index-note p{max-width:760px;margin:0;color:#475569;font-size:.86rem}
body.forum-page .country-forum-main,body.forum-page .forum-board-main,body.forum-page .board-reading-shell,body.forum-page .discussion-shell{border-radius:9px;box-shadow:var(--nm-shadow);overflow:hidden}
@media(max-width:960px){body.forum-page .essential-board-grid{grid-template-columns:1fr}.forum-page .essential-board-grid .classic-board-row{min-height:0;border-right:0;border-bottom:1px solid var(--nm-line-soft)}body.forum-page .forum-activity-dashboard{grid-template-columns:1fr}.forum-page .forum-activity-heading{border-right:0;border-bottom:1px solid var(--nm-line-soft)}body.forum-page .classic-forum-columns{grid-template-columns:minmax(0,1fr) 70px 70px 32px}.forum-page .classic-forum-columns>*:nth-child(4){display:none}.forum-page .country-board-list .classic-board-row{grid-template-columns:38px minmax(0,1fr) 70px 70px 32px}.forum-page .country-board-list .board-latest{display:none}.forum-page .forum-search-controls{grid-template-columns:repeat(2,minmax(0,1fr)}}
@media(max-width:600px){body.forum-page .forum-directory-hero{padding:22px 18px}.forum-page .forum-directory-hero::after{left:18px;right:18px}.forum-page .classic-forum-bar{min-height:52px;padding:10px 13px}.forum-page .classic-forum-bar>span{display:none}.forum-page .classic-forum-columns{display:none}.forum-page .country-board-list .classic-board-row{grid-template-columns:34px minmax(0,1fr) 28px;min-height:64px}.forum-page .country-board-list .board-stat{display:none}.forum-page .country-board-list .board-arrow{display:grid}.forum-page .forum-search-controls{grid-template-columns:1fr}.forum-page .forum-activity-grid{grid-template-columns:1fr}.forum-page .forum-activity-panel+.forum-activity-panel{border-left:0;border-top:1px solid var(--nm-line-soft)}body.forum-page .forum-index-note{align-items:flex-start;flex-direction:column}}

/* Country boards use the same complete forum grid as the community index. */
body.country-forum-page .board-columns{grid-template-columns:minmax(0,1fr) 78px 78px 180px 36px}
body.country-forum-page .country-board-header{margin:0;padding:26px 30px 25px;display:flex;align-items:end;justify-content:space-between;gap:20px;border:1px solid #334f73;border-radius:10px;background:linear-gradient(120deg,#111827,#1e3a5f);box-shadow:var(--nm-shadow)}
body.country-forum-page .country-board-header h1{margin:5px 0 10px;color:#fff;font-size:clamp(2rem,3.5vw,3.25rem)}
body.country-forum-page .country-board-header p:not(.eyebrow){max-width:720px;margin:0;color:#dbeafe;font-size:.96rem}
body.country-forum-page .country-board-header .eyebrow{margin:0;color:#bfdbfe}
body.country-forum-page #coreBoards .classic-board-row{min-height:72px;display:grid;grid-template-columns:38px minmax(0,1fr) 78px 78px 180px 36px;gap:0;border:0;border-top:1px solid var(--nm-line-soft);background:#fff;color:var(--nm-ink);text-decoration:none;transition:background .18s ease}
body.country-forum-page #coreBoards .classic-board-row>*{min-width:0;padding:11px 14px;border:0}
body.country-forum-page #coreBoards .classic-board-row:hover{background:#f4f8ff}
body.country-forum-page #coreBoards .board-glyph{align-self:center;justify-self:center}
body.country-forum-page #coreBoards .board-copy{display:grid;gap:3px}
body.country-forum-page #coreBoards .board-copy strong{font-size:.95rem}
body.country-forum-page #coreBoards .board-stat{border-left:1px solid var(--nm-line-soft);text-align:center;font-size:.85rem;font-weight:800}
body.country-forum-page #coreBoards .board-stat small,body.country-forum-page #coreBoards .board-latest small{display:block;margin-top:2px;color:var(--nm-muted);font-size:.63rem}
body.country-forum-page #coreBoards .board-latest{border-left:1px solid var(--nm-line-soft);font-size:.75rem}
body.country-forum-page #coreBoards .board-arrow{align-self:center;justify-self:center;color:#2563eb;font-size:1.05rem}
body.country-forum-page .city-forum-shell{margin:0;border-radius:9px;overflow:hidden}
body.country-forum-page .city-board-grid{padding:14px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:#fff}
body.country-forum-page .city-board-grid a{min-height:74px;padding:14px;display:grid;gap:4px;border:1px solid var(--nm-line);border-radius:7px;background:#f8fafc;color:var(--nm-ink);text-decoration:none;transition:background .18s ease,border-color .18s ease}
body.country-forum-page .city-board-grid a:hover{border-color:#93c5fd;background:#eff6ff}
body.country-forum-page .city-board-grid strong{font-size:.9rem}.country-forum-page .city-board-grid span{color:var(--nm-muted);font-size:.73rem}
@media(max-width:960px){body.country-forum-page .board-columns{grid-template-columns:minmax(0,1fr) 70px 70px 32px}body.country-forum-page .board-columns>*:nth-child(4){display:none}body.country-forum-page #coreBoards .classic-board-row{grid-template-columns:38px minmax(0,1fr) 70px 70px 32px}body.country-forum-page #coreBoards .board-latest{display:none}}
@media(max-width:600px){body.country-forum-page .country-board-header{padding:22px 18px;align-items:flex-start;flex-direction:column}body.country-forum-page .board-columns{display:none}body.country-forum-page #coreBoards .classic-board-row{grid-template-columns:34px minmax(0,1fr) 28px;min-height:64px}body.country-forum-page #coreBoards .board-stat{display:none}body.country-forum-page #coreBoards .board-arrow{display:grid}body.country-forum-page .city-board-grid{grid-template-columns:1fr;padding:10px}}


/* Site-wide readable text pairs for light and dark themes. */
/* Shared readability guardrails: every text surface keeps a paired foreground and background in both modes. */
:root{--contrast-light-ink:#173047;--contrast-light-muted:#405d73;--contrast-dark-ink:#f4f8fc;--contrast-dark-muted:#c7d5e2;--contrast-dark-panel:#172635;--contrast-dark-line:#40576e}
body.site-v2:not(.theme-dark) .site-main :is(.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content){color:var(--contrast-light-ink)}
body.site-v2:not(.theme-dark) .site-main :is(.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content) :is(p,small,label,.muted){color:var(--contrast-light-muted)!important}
body.site-v2:not(.theme-dark) .site-main :is(.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content) :is(h1,h2,h3,h4,strong,b){color:var(--contrast-light-ink)!important}
body.site-v2.theme-dark .site-main :is(.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content){background:var(--contrast-dark-panel)!important;border-color:var(--contrast-dark-line)!important;color:var(--contrast-dark-ink)!important}
body.site-v2.theme-dark .site-main :is(.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content) :is(p,small,label,.muted){color:var(--contrast-dark-muted)!important}
body.site-v2.theme-dark .site-main :is(.home-match,.community-home-intro,.feature,.trip-card,.latest,.planner-step,.comparison-intro,.saved-budget-library,.comparison-export-bottom,.guide-callout,.guide-trust-panel,.content-classification,.visa-entry-card,.quick-fit,.visa-pathway,.visa-faq,.visa-disclaimer,.country-scorecard,.country-desk-research,.country-desk-review,.country-city-guide-card,.island-guide-card,.article-callout,.forum-message,.join-card,.move-plan-shell,.plan-section,.tax-box,.bank-card,.benefit-profile,.care-card,.shortcut-card,.audit-callout,.audit-section,.packet-section,.srrv-content) :is(h1,h2,h3,h4,strong,b){color:var(--contrast-dark-ink)!important}
body.site-v2.theme-dark .site-main :is(input,select,textarea){background:#101d2a!important;border-color:#536b82!important;color:#f4f8fc!important}body.site-v2.theme-dark .site-main ::placeholder{color:#b9c9d7!important;opacity:1}
/* Components with dedicated visual shells need their own paired text colors. */
body.site-v2:not(.theme-dark) .pricing-research-page :is(.pricing-research-hero,.resource-guide) .eyebrow{color:#17727a!important}body.site-v2:not(.theme-dark) .pricing-research-page .pricing-research-hero>p:not(.eyebrow){color:#d9e8f2!important}
body.site-v2.theme-dark .latest .article-grid article{background:#172635!important;border-color:#40576e!important}body.site-v2.theme-dark .latest .article-grid article p{color:#c7d5e2!important}body.site-v2.theme-dark .latest .article-grid article :is(h1,h2,h3,strong){color:#f4f8fc!important}
body.site-v2.route-builder-page .route-hero{background:linear-gradient(110deg,#0b2a40,#115575)!important;border-color:#3c7f9c!important}body.site-v2.route-builder-page .route-hero :is(p,label,small,span){color:#d9edf5!important}body.site-v2.route-builder-page .route-hero :is(h1,h2,h3,strong){color:#fff!important}
body.site-v2.route-builder-page .route-summary{background:#0b2d43!important;border-color:#245a72!important;color:#f4f8fc!important}body.site-v2.route-builder-page .route-summary :is(p,label,small,span,.muted){color:#c7dce7!important}body.site-v2.route-builder-page .route-summary :is(h1,h2,h3,h4,strong,b){color:#f4f8fc!important}body.site-v2.route-builder-page .route-summary :is(input,select,textarea){background:#102e43!important;border-color:#5a8094!important;color:#f4f8fc!important}
/* Light-mode text on dark feature panels and standalone Resources markup. */
body.site-v2:not(.theme-dark) :is(.community-home-intro,.trip-card) :is(p,small,label,span,.muted){color:#d9e8f2!important}body.site-v2:not(.theme-dark) :is(.community-home-intro,.trip-card) :is(h1,h2,h3,h4,strong,b){color:#fff!important}
body.pricing-research-page:not(.theme-dark) .pricing-research-hero .eyebrow,body.pricing-research-page:not(.theme-dark) .resource-guide .eyebrow{color:#17727a!important}body.pricing-research-page:not(.theme-dark) .pricing-research-hero>p:not(.eyebrow){color:#d9e8f2!important}
body.site-v2.home-page:not(.theme-dark) .trip-card p{color:#d9e8f2!important}
body.site-v2.home-page:not(.theme-dark) .community-home-intro p{color:#d9e8f2!important}
body.site-v2.pricing-research-page:not(.theme-dark) .resource-guide .eyebrow{color:#17727a!important}
/* Avoid a legacy-header flash while the shared shell is prepared. */
body.site-v2:not(.site-shell-ready) > :not(script) { visibility:hidden; }
.site-founder-link { display: none !important; }
.site-founder-link.is-authorized { display: inline-flex !important; }
