@charset "UTF-8";
:root {
  --FONT: "Rubik", "Mulish", "Chivo", sans-serif;
  --FONT-ALT: "Chivo", sans-serif;
  --FONT-WEIGHT: 300;
  --HEADING-FONT-WEIGHT: 700;
  --HEADING-FONT-STYLE: italic;
  --HEADING-LINE-HEIGHT: 1.1;
  --HEADING-LETTER-SPACING: -0.02em;
  --BACKGROUND: white;
  --FOREGROUND: black;
  --MUTED-BACKGROUND: lightgray;
  --MUTED-FOREGROUND: darkgray;
  --PRIMARY: black;
  --SECONDARY: darkgray;
  --ACCENT: black;
  --SITE-HEADER-HEIGHT: 180px;
  --HEADER-HEIGHT: 80px;
  --HEADER-PADDING-X: 25px;
  --HEADER-BG: var(--BACKGROUND);
  --HEADER-BG-ALPHA: 1;
  --HEADER-LOGO-HEIGHT: 60px;
  --MENU-WIDTH: 240px;
  --MENU-BACKGROUND: var(--BACKGROUND);
  --MENU-BACKGROUND-ALPHA: 1;
  --MENU-FOREGROUND: var(--FOREGROUND);
  --MENU-FOREGROUND-ALPHA: 1;
  --MENU-FOREGROUND-HOVER: var(--PRIMARY);
  --BUTTON-COLOR: var(--BACKGROUND);
  --BUTTON-BG-COLOR: var(--PRIMARY);
  --BUTTON-PAD: var(--SPACING);
  --BUTTON-PAD: var(--SPACING);
  --BUTTON-BORDER-COLOR: var(--PRIMARY);
  --BUTTON-BORDER: 2;
  --BUTTON-RADIUS: var(--RADIUS);
  --BUTTON-FONT: var(--FONT);
  --BUTTON-FONT-WEIGHT: 500;
  --BUTTON-CASE: uppercase;
  --CARD-FOREGROUND: var(--FOREGROUND);
  --CARD-BACKGROUND: var(--MUTED-BACKGROUND);
  --CARD-BACKGROUND-ALPHA: 1;
  --CARD-PADDING: 1.2rem;
  --CARD-BORDER: 1px;
  --CARD-BORDER-COLOR: var(--MUTED-FOREGROUND);
  --CARD-BORDER-ALPHA: 0;
  --CARD-RADIUS: 3px;
  --CARD-SHADOW: var(--MUTED-FOREGROUND);
  --CARD-SHADOW-ALPHA: 0;
  --SPACING: 1rem;
  --CONTENT-WIDTH: 68rem;
  interpolate-size: allow-keywords;
}

*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
}

::-moz-selection {
  color: var(--BACKGROUND);
  background-color: var(--ACCENT);
}

::selection {
  color: var(--BACKGROUND);
  background-color: var(--ACCENT);
}

:focus {
  outline: 1px solid white;
  outline-offset: -1px;
}

html {
  font-family: var(--FONT, system-ui, sans-serif);
  font-weight: var(--FONT-WEIGHT, 400);
  line-height: var(--LINE-HEIGHT, 1.5);
  background-color: var(--BACKGROUND);
  color: var(--FOREGROUND);
}

:where(h1, h2, h3, h4, h5, h6) {
  margin: 0;
  color: var(--HEADING-COLOR);
  font-family: var(--HEADING-FONT, system-ui, sans-serif);
  font-weight: var(--HEADING-FONT-WEIGHT, 600);
  font-style: var(--HEADING-FONT-STYLE, normal);
  line-height: var(--HEADING-LINE-HEIGHT, 1.25);
  letter-spacing: var(--HEADING-LETTER-SPACING, 0);
}
:where(h1, h2, h3, h4, h5, h6) mark {
  background-color: transparent;
  color: var(--ACCENT);
}

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

nav a {
  text-decoration: none;
  color: currentColor;
}

ul, ol {
  padding-inline-start: 1.25rem;
}

[style*="--btn"] {
  --btn-color: var(--BUTTON-COLOR, 0 0% 100%);
  --btn-bg-color: var(--BUTTON-BG-COLOR, 0 0% 0%);
  --color: color-mix(
  	in srgb,
  	var(--btn-color) calc(var(--btn) * 10000%),
  	var(--btn-bg-color)
  );
  --bgc: var(--btn-bg-color);
  --bga: calc(-0.25 + var(--btn) * 1.5);
  --_bgc: hsl(from var(--bgc) h s l / var(--bga));
  --bw: calc(var(--BUTTON-BORDER) * 1px);
  --bc: var(--bgc);
  --ba: calc(1 + var(--btn) * -1);
  --r: calc(var(--BUTTON-RADIUS) * 1px);
  --px: calc(var(--BUTTON-PAD, 1) * 1.0);
  --py: calc(var(--BUTTON-PAD, 1) * 0.5);
  --fw: var(--BUTTON-FONT-WEIGHT);
  --ta: center;
  text-decoration: none;
  --tt: var(--BUTTON-CASE);
  height: 40px;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  background-color: var(--_bgc);
  border: var(--bw) solid hsl(from var(--bc) h s l/var(--ba));
  border-radius: var(--r);
  color: var(--color);
  font-family: var(--BTN-FONT, var(--FONT));
  font-size: 1em;
  line-height: 1;
  font-weight: var(--fw);
  text-align: var(--ta);
  text-transform: var(--tt);
  padding-inline: var(--px);
  padding-block: var(--py);
  transition: scale 0.1s linear;
}
[style*="--btn"]:hover {
  background-color: oklch(from var(--bgc) calc(l + 0.075) c h/var(--bga));
}
[style*="--btn"]:active {
  background-color: var(--_bgc);
}
[style*="--btn"].small {
  --px: calc(var(--BUTTON-PAD, 1) * 0.5);
  --py: calc(var(--BUTTON-PAD, 1) * 0.25);
  --fw: 500;
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* align-self: start; */
  --_btn-color: var(--BUTTON-COLOR, #FFF);
  --_btn-bg: var(--BUTTON-BG-COLOR, #000);
  color: var(--_btn-color);
  background-color: var(--_btn-bg);
  border: 2px solid var(--BUTTON-BORDER-COLOR, var(--BUTTON-BG-COLOR));
  border-radius: var(--BUTTON-RADIUS, 0px);
  box-shadow: var(--BUTTON-SHADOW, 0);
  padding: var(--btn-py, 0.25em) var(--btn-px, 1em);
  min-width: var(--BUTTON-MIN-WIDTH, 10ch);
  min-height: var(--btn-min-height, 40px);
  font-family: inherit;
  font-size: var(--BUTTON-FONT-SIZE, 1rem);
  font-weight: var(--fw, var(--BUTTON-FONT-WEIGHT));
  line-height: var(--BUTTON-LINE-HEIGHT, 1);
  text-align: center;
  text-decoration: none;
  text-transform: var(--tt, var(--BUTTON-CASE));
  transition: 220ms all ease-in-out;
  cursor: pointer;
}
.btn:hover, .btn:active {
  --_btn-bg: var(--BUTTON-BG-COLOR-HOVER, var(--btn-bg, #333));
  --btn-border: var(--BUTTON-BORDER-COLOR-HOVER, var(--BUTTON-BG-COLOR-HOVER));
}
.btn:focus {
  outline-style: solid;
  outline-color: transparent;
  box-shadow: 0 0 0 4px color-mix(in oklab, var(--btn-bg, #000), #fff 50%);
}
@media screen and (-ms-high-contrast: active) {
  .btn {
    border: 2px solid currentcolor;
  }
}

.icon,
[style*="--icon"] {
  --size: var(--icon, 2);
  --scale: var(--icon-scale, 1);
  --color: var(--icon-color, currentColor);
  --bg: var(--icon-bg, transparent);
  --radius: var(--icon-radius, var(--base-radius, 0));
  flex-shrink: 0;
  align-self: flex-start;
  display: inline-flex;
  place-content: center;
  place-items: center;
  aspect-ratio: 1;
  width: calc(1rem * var(--size));
  color: var(--color);
  background-color: var(--bg);
  border-radius: var(--radius);
  overflow: clip;
}
.icon svg, .icon img,
[style*="--icon"] svg,
[style*="--icon"] img {
  width: calc(var(--scale) * 100%);
  height: auto;
  fill: currentColor;
  stroke: currentColor;
}

[style*="--box"] {
  background-color: hsl(from var(--box-bg, var(--BOX-BG) h s l/var(--box-bg-alpha, var(--BOX-BG-ALPHA, 1))));
  padding: var(--box-padding, var(--BOX-PADDING, 1rem));
  border: var(--box-border, var(--BOX-BORDER)) solid var(--box-border-color, var(--BOX-BORDER-COLOR));
  border-radius: var(--box-radius, var(--BOX-RADIUS, var(--RADIUS, 0)));
  box-shadow: 0 0 calc(var(--box-shadow-size, var(--BOX-SHADOW-SIZE)) * var(--box, 1)) var(--box-shadow-color, var(--BOX-SHADOW-COLOR));
}

[style*="--grid"] {
  --grid: 1;
  --_grid: var(--grid);
  --grid-min: 0rem;
  --grid-max: 1fr;
  --gap: var(--GAP, 1.5rem);
  --xgap: var(--GAP-X, var(--gap));
  --ygap: var(--GAP-Y, var(--gap));
  display: grid;
  grid-template-columns: repeat(var(--_grid), minmax(min(100%, var(--grid-min)), var(--grid-max)));
  -moz-column-gap: var(--xgap);
       column-gap: var(--xgap);
  row-gap: var(--ygap);
}

[style*="--grid-min"],
[style*="--grid-max"] {
  --grid-min: 0rem;
  --grid-max: 1fr;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--grid-min)), var(--grid-max)));
}

[style*="--span"] {
  --_span: var(--span);
  grid-column: span var(--_span, 1);
}

@media (min-width: 32rem) {
  [style*="--grid-sm"] {
    --_grid: var(--grid-sm);
  }
  [style*="--span-sm"] {
    --_span: var(--span-sm);
  }
}
@media (min-width: 48rem) {
  [style*="--grid-md"] {
    --_grid: var(--grid-md);
  }
  [style*="--span-md"] {
    --_span: var(--span-md);
  }
}
@media (min-width: 64rem) {
  [style*="--grid-lg"] {
    --_grid: var(--grid-lg);
  }
  [style*="--span-lg"] {
    --_span: var(--span-lg);
  }
}
@media (min-width: 80rem) {
  [style*="--grid-xl"] {
    --_grid: var(--grid-xl);
  }
  [style*="--span-xl"] {
    --_span: var(--span-xl);
  }
}
[style*="--flex"] {
  --flex: 1;
  display: flex;
  flex-wrap: wrap;
  --gap: var(--GAP, 1.5rem);
  --xgap: var(--GAP-X, var(--gap));
  --ygap: var(--GAP-Y, var(--gap));
  -moz-column-gap: var(--xgap);
       column-gap: var(--xgap);
  row-gap: var(--ygap);
  --flex-basis: calc((100cqi - ((var(--flex) - 1) * var(--xgap))) / var(--flex));
  --flex-grow: 0;
  --flex-shrink: 1;
}
[style*="--flex"] > * {
  flex-grow: var(--flex-grow);
  flex-shrink: var(--flex-shrink);
  flex-basis: var(--flex-basis);
}

@media (min-width: 32rem) {
  [style*="--flex-sm"] {
    --flex: var(--flex-sm);
  }
}
@media (min-width: 48rem) {
  [style*="--flex-md"] {
    --flex: var(--flex-md);
  }
}
@media (min-width: 64rem) {
  [style*="--flex-lg"] {
    --flex: var(--flex-lg);
  }
}
@media (min-width: 80rem) {
  [style*="--flex-xl"] {
    --flex: var(--flex-xl);
  }
}
[style*="--columns"] {
  -moz-columns: var(--columns);
       columns: var(--columns);
  -moz-column-gap: var(--gap, var(--COLUMNS-GAP, var(--SPACING, 1.5rem)));
       column-gap: var(--gap, var(--COLUMNS-GAP, var(--SPACING, 1.5rem)));
  -moz-column-rule: var(--rule, 1px) solid var(--rule-color, var(--COLUMNS-RULE-COLOR, currentColor));
       column-rule: var(--rule, 1px) solid var(--rule-color, var(--COLUMNS-RULE-COLOR, currentColor));
}
[style*="--columns"] > * {
  -moz-column-break-inside: avoid;
       break-inside: avoid-column;
}

@media (min-width: 32rem) {
  [style*="--columns-sm"] {
    --columns: var(--columns-sm);
  }
}
@media (min-width: 48rem) {
  [style*="--columns-md"] {
    --columns: var(--columns-md);
  }
}
@media (min-width: 64rem) {
  [style*="--columns-lg"] {
    --columns: var(--columns-lg);
  }
}
@media (min-width: 80rem) {
  [style*="--columns-xl"] {
    --columns: var(--columns-xl);
  }
}
details {
  display: block;
  background-color: var(--DETAILS-BACKGROUND);
  border-radius: var(--DETAILS-RADIUS);
  box-shadow: var(--DETAILS-SHADOW);
  --p: var(--DETAILS-PADDING, calc(var(--SPACING) * 0.5));
  --marker-size: var(--DETAILS-MARKER-SIZE, 1.5rem);
  --marker-space: calc(var(--p) + var(--marker-size));
}

summary {
  padding: var(--p);
  padding-inline-start: var(--marker-space);
  outline: none;
  cursor: pointer;
}

/* custom marker */
summary::marker {
  content: none;
}

summary::webkit-details-marker {
  content: none;
}

summary::before {
  content: var(--marker, var(--DETAILS-MARKER, "+"));
  display: inline-flex;
  place-content: center;
  width: var(--marker-space);
  margin-inline-start: calc(var(--marker-space) * -1);
  transition: transform 0.1s linear;
}

details[open] summary::before {
  transform: rotate(90deg);
}

/* content padding */
details[open] > *:not(summary) {
  padding: var(--p);
  padding-inline-start: var(--marker-space);
}

/* remove padding from summary */
details[open] > *:nth-child(2) {
  padding-top: 0;
}

/* animate open/close enhancement, not well supported in 2025 */
details::details-content {
  display: block;
  block-size: 0;
  overflow: clip;
  transition-property: block-size, content-visibility;
  transition-duration: 0.5s;
  transition-behavior: allow-discrete;
}

details[open]::details-content {
  block-size: auto;
  block-size: calc-size(auto);
}

.expando_list {
  --item_height: 55px;
  list-style: none;
  padding: 0;
}

.expando_list > li {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: auto 1fr;
}

.expando_list a {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 1.5rem;
  text-decoration: none;
  outline: none;
}
.expando_list a:hover {
  background-color: var(--MENU-BG-HOVER, hsla(0, 0%, 50%, 0.1));
  color: var(--MENU-HOVER, currentColor);
}

.expando_list input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 1.35em;
  height: 100%;
  font-size: 2rem;
  color: currentColor;
  cursor: pointer;
  outline: none;
  -webkit-tap-highlight-color: transparent;
  margin-inline-end: calc(var(--HEADER-SPACING) - 8px);
}

.expando_list input::after {
  content: "‹";
  transition: transform 0.15s ease;
  display: inline-block;
  height: 100%;
  font-family: var(--MENU-FONT, var(--FONT));
  font-size: 1.25em;
  line-height: 1;
  transform-origin: 50% 53%;
}

.expando_list :is(ul, ol) {
  grid-column: span 2;
  display: none;
  list-style: none;
  width: 100%;
  padding: 0.5rem 0;
  overflow: hidden;
  max-height: 0;
  transition: max-height 0.3s ease;
  border-top: 1px solid var(--MENU-SEPARATOR, hsla(0, 0%, 50%, 0.1));
}

.expando_list :is(ul, ol) a:before {
  content: "-";
  margin-right: 0.5em;
}

.expando_list :focus {
  background-color: var(--MENU-BG-FOCUS, var(--MENU-BG-HOVER, hsla(0, 0%, 50%, 0.1)));
  color: var(--MENU-FOCUS, var(--MENU-HOVER, currentColor));
}

.expando_list input:checked::after {
  transform: rotate(-90deg);
}

.expando_list input:checked + :is(ul, ol) {
  display: block;
  max-height: 100vh;
}

:root {
  --HEADER-HEIGHT: clamp(4rem, min(11vw, 15vh), 5rem);
  --SECONDARY-HEADER-HEIGHT: clamp(4rem, min(11vw, 15vh), 5rem);
  --SITE-HEADER-HEIGHT: calc(var(--HEADER-HEIGHT) + var(--SECONDARY-HEADER-HEIGHT));
  --HEADER-SPACING: clamp(1rem, min(4vw, 5vh), 2rem);
  --LOGO-WIDTH: clamp(160px, min(40vw, 40vh), 240px);
  --HEADER-PADDING-X: calc(var(--HEADER-SPACING) + var(--LOGO-WIDTH)) var(--HEADER-SPACING);
  --MENU-PADDING: var(--LOGO-HEIGHT) 0 0;
  --WRAPPER-PADDING-X: var(--HEADER-SPACING);
  --GRID-GAP: var(--HEADER-SPACING);
}

.site-header {
  position: fixed;
  z-index: 100;
  inset-inline: 0;
  inset-block-start: 0;
  height: var(--SITE-HEADER-HEIGHT, 60px);
}

.site-header:has(.secondary-header) {
  display: flex;
  flex-direction: column-reverse;
  inset-block-start: calc(var(--SECONDARY-HEADER-HEIGHT) * var(--scrolled) * -1);
  transition: top 300ms ease;
}

.header-bar {
  position: relative;
  height: var(--HEADER-HEIGHT, 60px);
  padding-inline: var(--HEADER-PADDING-X, 20px);
  gap: calc(var(--gap, var(--HEADER-SPACING, 20px)) * 0.5);
  display: flex;
  align-items: center;
  justify-items: end;
  justify-content: end;
  color: var(--HEADER-COLOR, currentColor);
}
.header-bar::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background-color: hsl(from var(--HEADER-BG) h s l/var(--HEADER-BG-ALPHA));
  box-shadow: 0 0 var(--SHADOW-SIZE) hsl(from var(--SHADOW-COLOR) h s l/var(--SHADOW-ALPHA, 1));
}
.header-bar.background-on-scroll::after {
  opacity: var(--scrolled);
  transition: opacity 200ms ease;
}
.header-bar [style*="--btn"] {
  --BUTTON-PAD: calc(var(--HEADER-SPACING) / 2);
}

.secondary-header {
  --HEADER-BG: var(--SECONDARY-HEADER-BG);
  --HEADER-HEIGHT: var(--SECONDARY-HEADER-HEIGHT);
  justify-content: flex-end;
}

[style*="--scroll"] {
  --scrolled: clamp(0, var(--scroll) * -1000, 1);
}

.logo {
  background-color: var(--LOGO-BG);
  filter: drop-shadow(0 0 5px hsl(from var(--SHADOW-COLOR) h s l/var(--SHADOW-ALPHA)));
}
.logo a, .logo img, .logo svg {
  display: block;
  width: 100%;
  height: auto;
}

.logo-absolute {
  align-self: flex-start;
  position: fixed;
  z-index: 1;
  top: 0;
  left: var(--LOGO-LEFT, var(--HEADER-SPACING));
  width: var(--LOGO-WIDTH);
}

.primary-nav {
  transition: opacity 0.4s ease;
}
.primary-nav a {
  display: inline-flex;
  align-items: center;
  height: var(--height);
  padding-inline: calc(var(--HEADER-SPACING) / 1.5);
  font-family: var(--HEADER-FONT, var(--FONT));
  font-weight: var(--HEADER-FONT-WEIGHT, var(--FONT-WEIGHT));
  font-size: var(--HEADER-FONT-SIZE, var(--FONT-SIZE));
  text-decoration: none;
  outline: none;
}
.primary-nav a:focus {
  background-color: var(--MENU-BG-FOCUS, oklch(from var(--MENU-BACKGROUND) calc(l + 0.05) c h/var(--MENU-BACKGROUND-ALPHA)));
}
.primary-nav a:hover {
  background-color: var(--MENU-BG-HOVER, oklch(from var(--MENU-BACKGROUND) calc(l + 0.075) c h/var(--MENU-BACKGROUND-ALPHA)));
}
.primary-nav > ul {
  justify-content: end;
}
.primary-nav > ul > li {
  position: relative;
}
.primary-nav > ul > li > ul {
  position: absolute;
  top: 100%;
  z-index: 999;
  width: -moz-max-content;
  width: max-content;
  min-width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
  background-color: var(--HEADER-BG);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
  border-radius: var(--RADIUS);
  overflow: hidden;
}
.primary-nav > ul > li > ul a {
  min-width: -moz-max-content;
  min-width: max-content;
  width: 100%;
}
.primary-nav > ul li:has(ul) > a:after {
  content: "‹";
  display: inline-block;
  font-size: 1.5em;
  line-height: 50%;
  height: 50%;
  margin-inline-start: 0.375em;
  transition: transform 0.15s ease;
  rotate: -90deg;
}
.primary-nav li:has(:focus, :hover) > a:not(:hover, :focus) {
  background-color: oklch(from var(--MENU-BACKGROUND) l c h/var(--MENU-BACKGROUND-ALPHA));
}
.primary-nav li:has(:focus, :hover) ul {
  opacity: 1;
  pointer-events: all;
}
.primary-nav > ul:has(li:hover) > li:not(:hover) > a:not(:hover, :focus) {
  background-color: transparent;
}
.primary-nav > ul:has(li:hover) > li:not(:hover) ul {
  opacity: 0;
  pointer-events: none;
}

.priority-nav {
  --height: 40px;
  --align: center;
  flex: 1;
  display: flex;
  /* justify-content: var(--align); */
  max-height: var(--height);
  /* Add fake first item to make real item wrap when no space */
}
.priority-nav > *:before {
  content: "";
  height: var(--height);
}
.priority-nav > * {
  /* inline-size collapses width to make real first item wrap */
  /* can't use overflow:hidden as this breaks dropdown menus */
  container-type: inline-size;
  width: 100%;
  display: flex;
  /* wrap items off top of screen to hide them without overflow:hidden */
  flex-wrap: wrap-reverse;
  row-gap: 100vh;
  -moz-column-gap: var(--gap, 0);
       column-gap: var(--gap, 0);
  justify-content: var(--align);
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 32rem) {
  .priority-nav {
    display: none;
  }
}
.secondary-nav {
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  background-color: hsl(from var(--MENU-BACKGROUND) h s l/var(--MENU-BACKGROUND-ALPHA));
  color: hsl(from var(--MENU-FOREGROUND) h s l/var(--MENU-FOREGROUND-ALPHA));
  width: min(var(--MENU-WIDTH, 240px), 100%);
  height: 100vh;
  display: grid;
  grid-template-rows: auto 1fr;
  visibility: hidden;
  transform: translateX(100%);
  transition: transform 0.4s ease, visibility 0.4s ease;
}
.secondary-nav ul {
  list-style: none;
  padding: 0;
}
.secondary-nav > ul {
  display: block;
  padding-block-start: calc(var(--HEADER-HEIGHT) + var(--HEADER-SPACING));
  border-top: 1px solid var(--MENU-SEPARATOR, hsla(0, 0%, 50%, 0.2));
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: var(--MENU-SEPARATOR, hsla(0, 0%, 50%, 0.2)) var(--MENU-SEPARATOR, hsla(0, 0%, 50%, 0.2));
}
.secondary-nav > ul > li {
  border-bottom: 1px solid var(--MENU-SEPARATOR, hsla(0, 0%, 50%, 0.2));
}
.secondary-nav a {
  display: flex;
  padding: 0.75rem 1rem;
  font-size: var(--MENU-FONT-SIZE, var(--HEADER-FONT-SIZE, var(--FONT-SIZE)));
  font-weight: var(--MENU-FONT-WEIGHT, var(--HEADER-FONT-WEIGHT, var(--FONT-WEIGHT)));
  line-height: 1;
}
.secondary-nav a:has(img):focus {
  outline: 2px solid var(--MENU-BG-HOVER, oklch(from var(--MENU-BACKGROUND) calc(l + 0.3) c h/var(--MENU-BACKGROUND-ALPHA)));
  outline-offset: -1px;
}

.menu-icon {
  display: grid;
  place-content: center;
  height: 40px;
  padding-inline: 8px;
  margin-inline: 0px -8px;
  cursor: pointer;
}
.menu-icon:has(:focus) {
  background-color: oklch(from var(--MENU-BACKGROUND) calc(l + 0.05) c h/var(--MENU-BACKGROUND-ALPHA));
}
.menu-icon > * {
  grid-area: 1/1;
}
.menu-icon svg {
  position: relative;
  z-index: 2;
  display: block;
  width: 30px;
  stroke: var(--MENU-FOREGROUND);
}
.menu-icon path {
  transition: d 0.2s ease;
}
.menu-icon input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  outline: none;
}
.menu-icon input:checked {
  position: fixed;
  z-index: -1;
  inset: 0;
}

.header-bar:has(#menu-toggle:checked) .menu-icon path {
  d: path("M1,1L5,5L9,1M5,5L5,5M1,9L5,5L9,9");
}
.header-bar:has(#menu-toggle:checked) .primary-nav {
  opacity: 0;
}
.header-bar:has(#menu-toggle:checked) .secondary-nav {
  visibility: visible;
  transform: translateX(0%);
  box-shadow: 0 0 10px hsla(0, 0%, 0%, 0.25);
}

.marquee {
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.marquee > * {
  padding-left: 100%;
  display: inline-block;
  animation: translate-left 20s linear infinite;
}

@keyframes translate-left {
  100% {
    transform: translate(-100%, 0);
  }
}
main > *:first-child {
  padding-top: var(--SITE-HEADER-HEIGHT);
}

[style*="--wrapper"] {
  container-type: inline-size;
  width: 100%;
  max-width: var(--wrapper-width, 82rem);
  padding-block: var(--WRAPPER-PADDING-Y, 2rem);
  padding-inline: var(--WRAPPER-PADDING-X, 2rem);
  margin-inline: auto;
}

[style*="--flow:"] {
  --flow-space: var(--flow);
  container-type: inline-size;
  --flex-grow: 1;
}
[style*="--flow:"] > * + * {
  margin-top: calc(var(--flow-space) * 1em);
}

[style*="--text-min"],
[style*="--text-max"],
[style*="--text-scale"] {
  --text-min: 1;
  --text-max: 4;
  --text-unit: 0.125;
  --text-base: 1rem;
  --text-scale: 15;
  --min-value: ((var(--text-min) - 1) * var(--text-unit) + 1);
  --max-value: ((var(--text-max) - 1) * var(--text-unit) + 1);
  font-size: clamp(var(--min-value) * var(--text-base), var(--text-scale) * 1cqi, var(--max-value) * var(--text-base));
  /*
  --min-width: 320;
  --max-width: 1920;
  font-size: calc(
      (var(--min-value) * var(--text-base))
    + (var(--max-value) - var(--min-value)) 
    * (100vw - (var(--min-width) / 16 * 1rem)) 
      / (var(--max-width) / 16 - var(--min-width) / 16)
    );
  */
}

:is(h1, h2, h3, h4, h5, h6, p, li, ul, ol, summary),
[style*="--font"] {
  --font-scale: 1.5;
  --font-min: var(--font-size, 16);
  --font-max: var(--font-min) * var(--font-scale);
  --font-width: 100vw;
  --font-width-min: 320;
  --font-width-max: 1280;
  --slope: calc(
    (var(--font-min) * 1px)
  + (var(--font-max) - var(--font-min))
  * ((var(--font-width) - (var(--font-width-min) * 1px))
  / (var(--font-width-max) - var(--font-width-min))
  ));
  font-size: clamp(var(--font-min) * 1px, var(--slope), var(--font-max) * 1px);
}

[style*="--font-size-cq"] {
  --font-size: var(--font-size-cq);
  --font-width: 100cqi;
  --font-width-max: 1280;
}

h1 {
  --font-size: var(--FONT-SIZE-H1, 32);
}

h2 {
  --font-size: var(--FONT-SIZE-H2, 24);
}

h3 {
  --font-size: var(--FONT-SIZE-H3, 20);
}

h4 {
  --font-size: var(--FONT-SIZE-H4, 18);
}

h5 {
  --font-size: var(--FONT-SIZE-H5, 16);
}

h6 {
  --font-size: var(--FONT-SIZE-H6, 14);
}

p, li, ul, ol {
  --font-size: var(--FONT-SIZE-P, 16);
  --font-scale: 1.1;
}

summary {
  --font-size: var(--FONT-SIZE-SUMMARY, 16);
  --font-scale: 1.1;
}

[style*="--font-size-xs"] {
  --font-size: var(--font-size-xs);
}

@media (min-width: 32rem) {
  [style*="--font-size-sm"] {
    --font-size: var(--font-size-sm);
  }
}
@media (min-width: 48rem) {
  [style*="--font-size-md"] {
    --font-size: var(--font-size-md);
  }
}
@media (min-width: 64rem) {
  [style*="--font-size-lg"] {
    --font-size: var(--font-size-lg);
  }
}
@media (min-width: 80rem) {
  [style*="--font-size-xl"] {
    --font-size: var(--font-size-xl);
  }
}
[style*="--ratio"] {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: var(--ratio);
}

[style*="--shadow-items:"] > *,
[style*="--shadow:"] {
  --shadow: var(--shadow-items, 0);
  box-shadow: 0 0 calc(var(--shadow) * var(--SHADOW-SIZE)) hsl(from var(--SHADOW-COLOR) h s l/var(--SHADOW-ALPHA));
}

[style*="--rotate-items:"] > *,
[style*="--rotate:"] {
  --rotate: var(--rotate-items, 0);
  rotate: calc(var(--rotate) * 1deg);
}

[style*="--case"] {
  text-transform: var(--case);
}

[style*="--offset"] {
  --o: calc(var(--offset, 0) * var(--unit, 1.5rem));
  padding-block-end: max(var(--o), var(--o) * -1);
}
[style*="--offset"] > :nth-child(odd) {
  translate: 0 max(0rem, var(--o) * -1);
}
[style*="--offset"] > :nth-child(even) {
  translate: 0 max(0rem, var(--o));
}

@media (min-width: 512px) {
  [style*="--offset-sm"] {
    --offset: var(--offset-sm);
  }
}
@media (min-width: 768px) {
  [style*="--offset-md"] {
    --offset: var(--offset-md);
  }
}
@media (min-width: 1024px) {
  [style*="--offset-lg"] {
    --offset: var(--offset-lg);
  }
}
@media (min-width: 1280px) {
  [style*="--offset-xl"] {
    --offset: var(--offset-xl);
  }
}
[style*="--p"] {
  --u: var(--SPACING, 1rem);
}

[style*="--p:"] {
  padding: calc(var(--p) * var(--u));
}

[style*="--px:"] {
  padding-inline: calc(var(--px) * var(--u));
}

[style*="--py:"] {
  padding-block: calc(var(--py) * var(--u));
}

[style*="--pt:"] {
  padding-block-start: calc(var(--pt) * var(--u));
}

[style*="--pb:"] {
  padding-block-end: calc(var(--pb) * var(--u));
}

[style*="--pl:"] {
  padding-inline-start: calc(var(--pl) * var(--u));
}

[style*="--pr:"] {
  padding-inline-end: calc(var(--pr) * var(--u));
}

@media (min-width: 32rem) {
  [style*="--p-sm:"] {
    padding: calc(var(--p-sm) * var(--u));
  }
  [style*="--px-sm:"] {
    padding-inline: calc(var(--px-sm) * var(--u));
  }
  [style*="--py-sm:"] {
    padding-block: calc(var(--py-sm) * var(--u));
  }
  [style*="--pt-sm:"] {
    padding-block-start: calc(var(--pt-sm) * var(--u));
  }
  [style*="--pb-sm:"] {
    padding-block-end: calc(var(--pb-sm) * var(--u));
  }
  [style*="--pl-sm:"] {
    padding-inline-start: calc(var(--pl-sm) * var(--u));
  }
  [style*="--pr-sm:"] {
    padding-inline-end: calc(var(--pr-sm) * var(--u));
  }
}
@media (min-width: 48rem) {
  [style*="--p-md:"] {
    padding: calc(var(--p-md) * var(--u));
  }
  [style*="--px-md:"] {
    padding-inline: calc(var(--px-md) * var(--u));
  }
  [style*="--py-md:"] {
    padding-block: calc(var(--py-md) * var(--u));
  }
  [style*="--pt-md:"] {
    padding-block-start: calc(var(--pt-md) * var(--u));
  }
  [style*="--pb-md:"] {
    padding-block-end: calc(var(--pb-md) * var(--u));
  }
  [style*="--pl-md:"] {
    padding-inline-start: calc(var(--pl-md) * var(--u));
  }
  [style*="--pr-md:"] {
    padding-inline-end: calc(var(--pr-md) * var(--u));
  }
}
@media (min-width: 64rem) {
  [style*="--p-lg:"] {
    padding: calc(var(--p-lg) * var(--u));
  }
  [style*="--px-lg:"] {
    padding-inline: calc(var(--px-lg) * var(--u));
  }
  [style*="--py-lg:"] {
    padding-block: calc(var(--py-lg) * var(--u));
  }
  [style*="--pt-lg:"] {
    padding-block-start: calc(var(--pt-lg) * var(--u));
  }
  [style*="--pb-lg:"] {
    padding-block-end: calc(var(--pb-lg) * var(--u));
  }
  [style*="--pl-lg:"] {
    padding-inline-start: calc(var(--pl-lg) * var(--u));
  }
  [style*="--pr-lg:"] {
    padding-inline-end: calc(var(--pr-lg) * var(--u));
  }
}
@media (min-width: 80rem) {
  [style*="--p-xl:"] {
    padding: calc(var(--p-xl) * var(--u));
  }
  [style*="--px-xl:"] {
    padding-inline: calc(var(--px-xl) * var(--u));
  }
  [style*="--py-xl:"] {
    padding-block: calc(var(--py-xl) * var(--u));
  }
  [style*="--pt-xl:"] {
    padding-block-start: calc(var(--pt-xl) * var(--u));
  }
  [style*="--pb-xl:"] {
    padding-block-end: calc(var(--pb-xl) * var(--u));
  }
  [style*="--pl-xl:"] {
    padding-inline-start: calc(var(--pl-xl) * var(--u));
  }
  [style*="--pr-xl:"] {
    padding-inline-end: calc(var(--pr-xl) * var(--u));
  }
}
[style*="--layer"] {
  z-index: var(--layer);
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  overflow: clip;
  outline-width: 2px;
  outline-offset: -2px;
}

:not([style*="--layer"]):has(> [style*="--layer"]) {
  position: relative;
  overflow: clip;
}

[style*="--parallax"] {
  translate: 0 calc(var(--scroll) * var(--parallax) * -1);
}

[style*="--bg"] {
  --bgc: var(--BACKGROUND, #fff);
  --bg-hue: 0;
  --bg-saturate: 0;
  --bg-lighten: 0;
  --bga: 1;
  --bg: oklch(from var(--bgc) calc(l + var(--bg-lighten)) calc(c + var(--bg-saturate)) calc(h + var(--bg-hue)) / var(--bga));
  background-color: var(--bg);
  --from: var(--from-color, var(--bgc, #000));
  --from-lighten: 0;
  --from-saturate: 0;
  --from-hue: 0;
  --from-alpha: 1;
  --to: var(--to-color, var(--bgc, transparent));
  --to-lighten: 0;
  --to-saturate: 0;
  --to-hue: 0;
  --to-alpha: 0;
  --_from: oklch(from var(--from) calc(l + var(--from-lighten)) calc(c + var(--from-saturate)) calc(h + var(--from-hue)) / var(--from-alpha));
  --_to: oklch(from var(--to) calc(l + var(--to-lighten)) calc(c + var(--to-saturate)) calc(h + var(--to-hue)) / var(--to-alpha));
  --stops: var(--_from), var(--_to);
}

[style*="--bg-linear"],
[style*="--from"],
[style*="--to"],
[style*="--via"],
[style*="--bg-clip: text"] {
  --bg-linear: to top;
  --bga: 0;
  background-image: linear-gradient(var(--bg-linear), var(--stops));
}

[style*="--bg-radial"] {
  --bga: 0;
  background-image: radial-gradient(var(--bg-radial), var(--stops));
}

[style*="--via"] {
  --via-lighten: 0;
  --via-saturate: 0;
  --via-hue: 0;
  --via-alpha: 1;
  --via: var(--via-color, transparent);
  --_via: oklch(from var(--via) calc(l + var(--via-lighten)) calc(c + var(--via-saturate)) calc(h + var(--via-hue)) / var(--via-alpha));
  --stops: var(--_from), var(--_via), var(--_to);
}

[style*="--bg-clip"] {
  --to-alpha: 1;
  background-clip: var(--bg-clip);
  -webkit-text-fill-color: transparent;
}/*# sourceMappingURL=default.css.map */