*, *::before, *::after { box-sizing: border-box; }
html { color-scheme: dark; scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  background:
    radial-gradient(circle at 82% -10%, color-mix(in srgb, var(--zm-brand) 14%, transparent), transparent 28rem),
    linear-gradient(180deg, var(--zm-bg) 0%, color-mix(in srgb, var(--zm-surface) 58%, var(--zm-bg)) 100%);
  color: var(--zm-text);
  font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.zmg-nav-open { overflow: hidden; }
button, input, select, textarea { font: inherit; }
button, [type="button"], [type="submit"], [role="button"] { cursor: pointer; }
img, picture, video, iframe, svg { display: block; max-width: 100%; }
img { height: auto; }
figure { margin: 0; }
a { color: inherit; text-underline-offset: .18em; }
a:hover { color: #fff; }
p, ul, ol { margin-top: 0; }
p:last-child, ul:last-child, ol:last-child { margin-bottom: 0; }
h1, h2, h3, h4, h5, h6 {
  margin: 0 0 .65em;
  color: var(--zm-text);
  font-weight: 800;
  line-height: 1.08;
  text-wrap: balance;
}
h1 { font-size: clamp(40px, 6vw, 72px); line-height: .98; letter-spacing: -.025em; }
h2 { font-size: clamp(30px, 4vw, 48px); }
h3 { font-size: clamp(21px, 2vw, 27px); }
small { font-size: .875rem; }
::selection { background: var(--zm-brand); color: #fff; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 3px solid var(--zm-focus);
  outline-offset: 3px;
}
:where(a, button, input, select, textarea, summary, [tabindex]):focus:not(:focus-visible) { outline: none; }
input, select, textarea {
  width: 100%;
  min-height: 48px;
  border: 1px solid var(--zm-border);
  border-radius: var(--zm-radius-control);
  background: var(--zm-surface);
  color: var(--zm-text);
  padding: 11px 13px;
}
textarea { min-height: 132px; resize: vertical; }
label { display: inline-block; margin-bottom: 6px; font-weight: 700; }
.skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  padding: 10px 14px;
  border-radius: var(--zm-radius-control);
  background: var(--zm-focus);
  color: #07080b;
  font-weight: 800;
  transform: translateY(-160%);
  transition: transform var(--zm-transition);
}
.skip-link:focus { transform: translateY(0); }
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px;
}
.alignfull { width: 100%; }
.alignwide { width: min(var(--zm-wide), calc(100% - (2 * var(--zm-gutter)))); margin-inline: auto; }
.wp-block-image img, .entry-content img { border-radius: var(--zm-radius-card); }
.entry-content { overflow-wrap: anywhere; }
.entry-content > :where(p, ul, ol, blockquote, h1, h2, h3, h4, h5, h6, figure, table):not(.alignwide):not(.alignfull) {
  width: min(var(--zm-content), calc(100% - (2 * var(--zm-gutter))));
  margin-inline: auto;
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

