:root {
  --va-ink: #123044;
  --va-muted: #667789;
  --va-soft: #f5f8fb;
  --va-line: #dfe7ef;
  --va-line-soft: #edf2f7;
  --va-primary: #0f6b8f;
  --va-primary-dark: #0b3f5c;
  --va-primary-soft: #e7f5fa;
  --va-action: #c74738;
  --va-action-soft: #fdecea;
  --va-success: #23885f;
  --va-success-soft: #e8f6ef;
  --va-warning: #b7791f;
  --va-warning-soft: #fff7e6;
  --va-accent: #f2c94c;
  --va-violet: #557c9b;
  --va-violet-soft: #e7f5fa;
  --va-shadow-sm: 0 1px 2px rgba(18, 48, 68, .06);
  --va-shadow-md: 0 10px 30px rgba(18, 48, 68, .10);
  --va-radius: 14px;
}

html {
  background: var(--va-soft);
}

body {
  color: var(--va-ink);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
}

* {
  max-width: 100%;
}

img {
  max-width: 100%;
  height: auto;
}

iframe,
video,
canvas,
svg {
  max-width: 100%;
}

input,
select,
textarea,
button {
  max-width: 100%;
}

a, button, input, select, textarea {
  transition: border-color .16s ease, background-color .16s ease, color .16s ease, box-shadow .16s ease, transform .16s ease;
}

button:hover,
a[href]:hover {
  transform: translateY(-1px);
}

input:focus,
select:focus,
textarea:focus {
  border-color: var(--va-primary) !important;
  box-shadow: 0 0 0 3px rgba(15, 107, 143, .14) !important;
}

::selection {
  background: rgba(15, 107, 143, .18);
}

.va-mobile-menu {
  display: none;
  position: relative;
}

.va-mobile-menu summary {
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid var(--va-line);
  border-radius: 10px;
  background: #fff;
  color: var(--va-ink);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  font-family: Inter, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  list-style: none;
}

.va-mobile-menu summary::-webkit-details-marker {
  display: none;
}

.va-mobile-menu[open] summary {
  border-color: var(--va-primary);
  box-shadow: 0 0 0 3px rgba(15, 107, 143, .12);
}

.va-mobile-menu-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 10px);
  width: min(82vw, 310px);
  padding: 8px;
  border: 1px solid var(--va-line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--va-shadow-md);
  display: grid;
  gap: 4px;
  z-index: 100;
}

.va-mobile-menu-panel a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 10px;
  color: var(--va-ink);
  text-decoration: none;
  font-size: 14px;
  font-weight: 650;
}

.va-mobile-menu-panel a:hover {
  background: var(--va-primary-soft);
  color: var(--va-primary-dark);
}

.va-footer-grid {
  min-width: 0;
}

[style*="box-shadow:0 1px 3px rgba(11,42,74,.05)"] {
  box-shadow: var(--va-shadow-sm) !important;
}

[style*="border-radius:20px"],
[style*="border-radius:22px"] {
  border-radius: var(--va-radius) !important;
}

[style*="border:1px solid #eef1f5"],
[style*="border:1.5px solid #eef1f5"],
[style*="border:1px solid #e0e5ec"],
[style*="border:1.5px solid #e0e5ec"] {
  border-color: var(--va-line) !important;
}

[style*="background:#f6f8fb"],
[style*="background:#fafbfd"] {
  background: var(--va-soft) !important;
}

@media (max-width: 640px) {
  h1 {
    font-size: 32px !important;
    line-height: 1.08 !important;
  }

  section > div,
  .va-authgrid,
  .va-dash {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}

@media (max-width: 980px) {
  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:repeat(3,1fr)"],
  [style*="grid-template-columns:repeat(4,1fr)"],
  [style*="grid-template-columns:1.5fr 1fr"],
  [style*="grid-template-columns:1.6fr 1fr"],
  [style*="grid-template-columns:1.6fr 1fr 1fr 1fr"],
  [style*="grid-template-columns:1.7fr 1fr"] {
    grid-template-columns: 1fr !important;
  }

  [style*="display:grid"][style*="min-height:calc(100vh - 66px)"] {
    min-height: auto !important;
  }

  [style*="font-size:66px"] {
    font-size: clamp(38px, 12vw, 56px) !important;
  }

  [style*="padding:64px 24px"],
  [style*="padding:64px 24px 84px"],
  [style*="padding:70px 24px"] {
    padding-top: 42px !important;
    padding-bottom: 50px !important;
  }
}

@media (max-width: 760px) {
  .va-site-header {
    position: sticky !important;
  }

  .va-site-header-inner {
    min-height: 64px;
    padding: 10px 14px !important;
    gap: 10px !important;
  }

  .va-brand span:last-child {
    font-size: 15px !important;
  }

  .va-desktop-nav,
  .va-donate-button {
    display: none !important;
  }

  .va-header-actions {
    gap: 7px !important;
  }

  .va-search-button,
  .va-language-button {
    height: 38px !important;
    min-width: 38px !important;
    flex: 0 0 auto;
  }

  .va-language-button {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .va-mobile-menu {
    display: block;
  }

  .va-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  [style*="position:absolute"][style*="width:620px"],
  [style*="position: absolute"][style*="width: 620px"] {
    display: none !important;
  }

  body > div,
  x-dc > div,
  [style*="min-height:100vh"] {
    width: 100% !important;
  }

  [style*="max-width:1200px"],
  [style*="max-width:1100px"],
  [style*="max-width:980px"],
  [style*="max-width:960px"] {
    width: 100% !important;
  }

  [style*="display:flex"][style*="justify-content:space-between"] {
    gap: 12px !important;
  }

  [style*="height:315px"] {
    height: 230px !important;
  }

  [style*="height:560px"] {
    height: 320px !important;
  }

  [style*="padding:56px 48px"],
  [style*="padding:56px 48px;"] {
    padding: 34px 22px !important;
  }

  [style*="padding:34px"],
  [style*="padding:30px 34px 34px"],
  [style*="padding:26px 28px"] {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }

  [style*="position:sticky"][style*="top:65px"],
  [style*="position:sticky"][style*="top:170px"] {
    position: relative !important;
    top: auto !important;
  }

  [style*="display:grid"] {
    gap: 16px !important;
  }

  [style*="display:flex"][style*="align-items:center"][style*="justify-content:space-between"] {
    align-items: flex-start !important;
  }
}

@media (max-width: 520px) {
  .va-site-header-inner {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .va-brand span:first-child {
    width: 34px !important;
    height: 34px !important;
  }

  .va-brand span:last-child {
    max-width: 112px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .va-mobile-menu-panel {
    right: -2px;
    width: min(92vw, 320px);
  }

  .va-search-button {
    display: none !important;
  }

  [style*="padding:13px 24px"],
  [style*="padding:14px 26px"],
  [style*="padding:15px 24px"],
  [style*="padding:16px 30px"] {
    width: 100% !important;
    justify-content: center !important;
    text-align: center !important;
  }

  [style*="display:flex"][style*="flex-wrap:wrap"] > a,
  [style*="display:flex"][style*="flex-wrap:wrap"] > button {
    flex: 1 1 100% !important;
  }

  [style*="font-size:40px"] {
    font-size: 30px !important;
  }

  [style*="font-size:34px"] {
    font-size: 28px !important;
  }

  p,
  li {
    font-size: min(16px, 4.1vw) !important;
  }

  input,
  select,
  textarea {
    width: 100% !important;
  }

  [style*="grid-template-columns:1fr 1fr"],
  [style*="grid-template-columns:repeat(2,1fr)"],
  [style*="grid-template-columns:repeat(6,1fr)"] {
    grid-template-columns: 1fr !important;
  }

  [style*="display:flex"][style*="gap:16px"],
  [style*="display:flex"][style*="gap:14px"],
  [style*="display:flex"][style*="gap:13px"] {
    flex-wrap: wrap !important;
  }
}

@media (max-width: 380px) {
  .va-language-button {
    display: none !important;
  }

  .va-brand span:last-child {
    max-width: 96px;
  }

  .va-mobile-menu summary {
    padding-left: 10px;
    padding-right: 10px;
  }
}

@media (max-width: 520px) {
  .va-site-header .va-site-header-inner {
    width: 100% !important;
    justify-content: space-between !important;
    text-align: initial !important;
  }

  .va-site-header a,
  .va-site-header button,
  .va-site-header summary {
    width: auto !important;
  }
}
