:root {
  --ink: var(--neutral-950);
  --paper: var(--neutral-020);
  --white: var(--neutral-000);
  --line: var(--neutral-060);
  --muted: var(--neutral-600);
  --gv-muted: var(--neutral-600);
  --gv-accent: var(--blue-700);
  --sand-950: #171007;
  --sand-900: #2F200F;
  --sand-800: #593E1C;
  --sand-700: #885E2B;
  --sand-600: #B37B38;
  --sand-500: #C89250;
  --sand-400: #D3A873;
  --sand-300: #DEBE96;
  --sand-200: #E9D4B9;
  --sand-100: #F4E9DC;
  --sand-080: #F6EEE4;
  --sand-060: #F9F3EC;
  --sand-050: #FAF5EF;
  --sand-040: #FDFAF7;
  --sand-020: #FEFDFB;
  --green-950: #0A150F;
  --green-900: #142A1F;
  --green-800: #26503B;
  --green-700: #397959;
  --green-600: #4CA177;
  --green-500: #63B58C;
  --green-400: #82C4A3;
  --green-300: #A1D3BA;
  --green-200: #C1E2D1;
  --green-100: #E0F0E8;
  --green-080: #E6F3ED;
  --green-060: #ECF6F1;
  --green-050: #F0F8F4;
  --green-040: #F3F9F6;
  --green-020: #F9FCFA;
  --lavender-950: #0D0D17;
  --lavender-900: #18182B;
  --lavender-800: #313159;
  --lavender-700: #484984;
  --lavender-600: #6667AB;
  --lavender-500: #7F80B8;
  --lavender-400: #999AC7;
  --lavender-300: #B3B4D5;
  --lavender-200: #CECEE4;
  --lavender-100: #E5E5F1;
  --lavender-080: #EAEAF4;
  --lavender-060: #EFEFF7;
  --lavender-050: #F2F2F8;
  --lavender-040: #F5F5F9;
  --lavender-020: #FAFAFC;
  --blue-950: #090C15;
  --blue-900: #111627;
  --blue-800: #232F52;
  --blue-700: #34457A;
  --blue-600: #465EA4;
  --blue-500: #5E75BA;
  --blue-400: #7E91C8;
  --blue-300: #9EACD6;
  --blue-200: #BFC8E4;
  --blue-100: #DFE3F1;
  --blue-080: #E5E9F4;
  --blue-060: #ECEEF7;
  --blue-050: #EFF1F8;
  --blue-040: #F2F4F9;
  --blue-020: #F9F9FC;
  --neutral-950: #020202;
  --neutral-900: #0F0F0F;
  --neutral-800: #292929;
  --neutral-700: #424242;
  --neutral-600: #5C5C5C;
  --neutral-500: #737373;
  --neutral-400: #8C8C8C;
  --neutral-300: #A6A6A6;
  --neutral-200: #BFBFBF;
  --neutral-100: #D9D9D9;
  --neutral-080: #E1E1E1;
  --neutral-060: #E8E8E8;
  --neutral-050: #ECECEC;
  --neutral-040: #F0F0F0;
  --neutral-020: #F7F7F7;
  --neutral-000: #FFFFFF;
}

a {
  color: var(--blue-700);
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--blue-200);
  text-underline-offset: 0.14em;
}

a:hover,
a:focus-visible {
  color: var(--blue-900);
  text-decoration-line: underline;
  text-decoration-style: dotted;
  text-decoration-color: var(--blue-200);
}

body {
  font-weight: 300;
}

.govisit-button-primary,
.govisit-button-secondary {
  font: inherit;
  text-decoration: none;
}

.govisit-button-primary,
.govisit-button-primary:visited {
  border: 1px solid var(--neutral-800);
  background: var(--neutral-000);
  color: var(--neutral-900);
}

.govisit-button-secondary,
.govisit-button-secondary:visited {
  border: 1px solid var(--neutral-800);
  background: transparent;
  color: var(--neutral-900);
}

.govisit-button-primary:hover,
.govisit-button-primary:focus-visible,
.govisit-button-secondary:hover,
.govisit-button-secondary:focus-visible {
  background: var(--neutral-800);
  color: var(--neutral-000);
}

.govisit-root-shell {
  min-height: 100vh;
  color: var(--neutral-950);
}

.govisit-root-shell .wrap {
  margin: 0 auto;
  padding: 0 22px;
}

#govisitRootTopbarMount {
  position: sticky;
  top: 0;
  z-index: 80;
}

#govisitRootTopbarMount .topbar {
  position: relative;
  z-index: 80;
  border-bottom: 1px solid var(--blue-100);
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.92));
  backdrop-filter: blur(14px);
}

#govisitRootTopbarMount .topbar .wrap {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 64px;
  gap: 16px;
}

#govisitRootTopbarMount .brand {
  display: flex;
  align-items: center;
  gap: 12px;
  letter-spacing: 0.02em;
}

.govisit-root-shell .brand-link {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: inherit;
  text-decoration: none;
}

.govisit-root-shell .brand-logo {
  display: block;
  width: 32px;
  height: 32px;
  object-fit: contain;
}

.govisit-root-shell .brand-title {
  font-weight: 600;
  letter-spacing: 0.01em;
}

#govisitRootTopbarMount .nav {
  display: flex;
  flex: 1;
  align-items: center;
  justify-content: flex-end;
  color: var(--neutral-600);
  font-size: 14px;
}

#govisitRootTopbarMount .nav-section-links,
#govisitRootTopbarMount .nav-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

#govisitRootTopbarMount .nav-section-links {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

#govisitRootTopbarMount .nav-actions {
  margin-left: auto;
}

#govisitRootTopbarMount .nav a {
  color: var(--neutral-600);
  text-decoration: none;
  transition: color 0.16s ease;
}

#govisitRootTopbarMount .nav a:hover,
#govisitRootTopbarMount .nav a:focus-visible {
  color: var(--neutral-900);
}

#govisitRootTopbarMount .language-switcher {
  position: relative;
  display: inline-flex;
  align-items: center;
}

#govisitRootTopbarMount .language-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  height: 30px;
  padding: 0 9px;
  border: 1px solid var(--blue-100);
  border-radius: 999px;
  background: var(--neutral-000);
  color: inherit;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
  cursor: pointer;
}

#govisitRootTopbarMount .language-trigger:hover,
#govisitRootTopbarMount .language-trigger:focus-visible,
#govisitRootTopbarMount .language-switcher.open .language-trigger {
  background: var(--blue-020);
  color: var(--neutral-900);
}

#govisitRootTopbarMount .language-flag {
  font-size: 15px;
  line-height: 1;
}

#govisitRootTopbarMount .language-chevron {
  font-size: 10px;
  opacity: 0.75;
}

#govisitRootTopbarMount .language-menu {
  position: absolute;
  z-index: 90;
  top: calc(100% + 10px);
  right: 0;
  min-width: 170px;
  padding: 6px;
  border: 1px solid var(--blue-100);
  border-radius: 8px;
  background: var(--neutral-000);
  box-shadow: 0 16px 34px rgba(15, 15, 15, 0.12);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

#govisitRootTopbarMount .language-switcher.open .language-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

#govisitRootTopbarMount .language-menu .language-option {
  display: grid;
  grid-template-columns: 22px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border-radius: 6px;
  color: var(--neutral-950);
  font-size: 13px;
  text-decoration: none;
}

#govisitRootTopbarMount .language-menu .language-option:hover,
#govisitRootTopbarMount .language-menu .language-option:focus-visible {
  background: var(--neutral-060);
  color: var(--neutral-900);
}

#govisitRootTopbarMount .language-code {
  font-size: 11px;
  font-weight: 700;
  opacity: 0.72;
}

@media (max-width: 900px) {
  #govisitRootTopbarMount .nav-section-links {
    display: none;
  }
}

h1 {
  font-size: clamp(40px, 7vw, 60px);
  line-height: 1.2;
  margin: 0 0 18px;
  max-width: 850px;
  font-weight: 500;
  /* CSS letter-spacing accepts lengths; 0.05em is the valid 5% equivalent. */
  letter-spacing: 0.05em;
}

h2 {
  font-size: 28px;
  line-height: 1.12;
  margin: 0 0 16px;
  font-weight: 500;
  letter-spacing: 0.05em;
}

h3 {
  color: var(--blue-600);
  font-size: 22px;
  margin: 0 0 8px;
  font-weight: 500;
  letter-spacing: 0.05em;
}
