@layer base {
/* stylelint-disable length-zero-no-unit, unit-disallowed-list, scss/no-global-function-names */
/* stylelint-disable scss/no-global-function-names, function-no-unknown, unit-disallowed-list */
:where(:root, ::selection, ::backdrop) {
  --font-family-display: "Open Sans", sans-serif;
  --font-family-text: "Open Sans", sans-serif;
  /* font-size */
  --font-size-multiplier: 1;
  --font-size-xs: calc(clamp(1.4rem, 0.852rem + 0.6vi, 1.6rem) * var(--font-size-multiplier));
  --font-size-sm: calc(clamp(1.6rem, 1.152rem + 0.6vi, 1.8rem) * var(--font-size-multiplier));
  --font-size-md: calc(clamp(1.8rem, 1.422rem + 0.7vi, 2rem) * var(--font-size-multiplier));
  --font-size-md-alt: calc(clamp(2rem, 1.422rem + 1.1vi, 3rem) * var(--font-size-multiplier));
  --font-size-lg: calc(clamp(2.2rem, 2.2rem + 0.7vi, 2.8rem) * var(--font-size-multiplier));
  --font-size-lg-alt: calc(clamp(2.2rem, 2.1rem + 0.4vi, 2.8rem) * var(--font-size-multiplier));
  --font-size-xl: calc(clamp(2.7rem, 1.585rem + 1.8vi, 4.2rem) * var(--font-size-multiplier));
  --font-size-xxl: calc(clamp(4rem, 1.607rem + 2.3vi, 5rem) * var(--font-size-multiplier));
  --header-height: calc(var(--logo-size) + var(--gutter) + 4.7rem);
}
@media (min-width: 576px) and (orientation: landscape) {
  :where(:root, ::selection, ::backdrop) {
    --header-height: calc(var(--logo-size) + var(--gutter) + 3rem);
  }
}
@media (min-width: 768px) and (orientation: landscape) {
  :where(:root, ::selection, ::backdrop) {
    --header-height: calc(var(--logo-size) + var(--gutter) + 4.6rem);
  }
}
@media (min-width: 768px) and (orientation: portrait) {
  :where(:root, ::selection, ::backdrop) {
    --header-height: calc(var(--logo-size) + var(--gutter) * 1.5);
  }
}
@media (min-width: 992px) {
  :where(:root, ::selection, ::backdrop) {
    --header-height: calc(var(--logo-size) + var(--gutter) * 1.5);
  }
}

:focus-visible,
:any-link:focus-visible img {
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  outline: var(--border-dots) var(--color-selection) !important;
  outline-offset: 0.125rem;
  border-radius: 0.125rem;
  background-color: color-mix(in oklch, transparent, var(--color-selection) var(--bg-transparency));
}

:root {
  color-scheme: var(--color-scheme, light);
  font-size: 62.5%;
}

html {
  scroll-behavior: smooth;
  scroll-padding-block-start: calc(var(--header-height) + var(--gutter) / 2);
  accent-color: var(--color-accent);
  caret-color: var(--color-accent);
  text-rendering: geometricPrecision;
  scroll-timeline: --scroll-timeline vertical;
  scroll-timeline: --scroll-timeline y;
  position: relative;
}

body {
  display: flex;
  flex-flow: column nowrap;
  background-color: var(--data-color-background, var(--color-white));
  min-inline-size: 32rem;
  color: var(--color-text);
  font-weight: 600;
  font-size: var(--font-size-sm);
  line-height: 1.775;
  font-family: var(--font-family-primary);
  tab-size: inherit;
  -webkit-tap-highlight-color: inherit;
  -webkit-text-size-adjust: inherit;
  text-size-adjust: inherit;
  text-rendering: inherit;
  overflow-wrap: inherit;
}

#main {
  padding-block-start: var(--header-height);
  padding-block-end: var(--block-padding);
}
@media (min-width: 992px) {
  #main {
    padding-block-end: calc(var(--block-padding) * 2);
  }
}

:where(blockquote, em, i) {
  padding-inline-end: 0.05em;
  font-style: italic;
}

:where(blockquote) {
  margin-inline: calc((var(--gutter) * 2 + var(--gutter-var) * 3) / 5);
  text-align: justify;
}

:where(p, dl, ol, ul) {
  margin-block-start: 0;
  margin-block-end: 2em;
}

:where(p, dl) {
  max-inline-size: 100ch;
}

:where(:is(p, dl, ol, ul):last-child) {
  margin-block-end: 0;
}

:where(:is(ol, ul):not([role])) {
  padding-inline-start: 1em;
}

:where(:is(ul):not([role])) {
  list-style-type: disc;
}
:where(:is(ul):not([role])) :where(:is(ul):not([role])) li::marker {
  font-size: 0.7em;
}

:where(:is(ol, ul):not([role]) > :not(:last-child)) {
  margin-block-end: 0.25em;
}

:where(#content header ~ :where(ul, ol, dl):not(header) li:nth-child(n):where(:has(> a:only-child), :has(> p:only-child > a:only-child))) {
  margin-inline-start: calc(var(--gutter-var) * -1);
  list-style-type: none;
}

:where(:is(ol, ul):has(li:nth-child(n):has(> a:only-child))) {
  padding-inline-start: revert;
}

:where(img, video) {
  object-fit: cover;
  object-position: var(--object-position-x, center) var(--object-position-y, center);
}

:where(figure) {
  margin-inline: 0;
}

:where(video) {
  aspect-ratio: auto 16/9;
}

:where(.logo :is(img, svg)) {
  view-transition-name: logo;
}

:where(hr) {
  opacity: 1;
  margin-block: var(--gutter);
  border: none;
  border-block-start: var(--border-line) var(--color-accent);
}

:where(address) {
  font-style: normal;
}

:where(address) :any-link {
  display: inline-block;
  margin-block-end: 0.5em;
  text-decoration: underline;
}

:where(address) .icon {
  vertical-align: middle;
  font-size: 1.5em;
}

:where(figcaption) {
  opacity: 0.725;
  margin-inline: auto;
  margin-block-start: 0.5em;
  margin-block-end: 0.25em;
  /*max-inline-size: 64ch;*/
  line-height: 1.525;
  text-align: center;
  text-wrap: balance;
}

/* lists */
/* utility */
.contain {
  margin-inline: auto;
  inline-size: 100%;
  max-inline-size: var(--content-width);
}
.frame-full-width > .contain {
  max-inline-size: 100%;
}

.contain.condensed {
  max-inline-size: var(--content-width-condensed);
}

[data-menu=collapse] {
  display: grid;
  grid-template-rows: 1fr;
  transition: grid-template-rows var(--transition, 250ms ease-out);
}

[data-menu=collapse][inert] {
  grid-template-rows: 0fr;
}

:has(> [data-menu=popup]) {
  position: relative;
}

[data-menu=popup] {
  position: absolute;
  inset-block-start: 100%;
  inset-inline-end: -100%;
}

[data-menu=popup][inert] {
  opacity: 0;
}

@media (min-width: 744px) {
  [data-menu=popup] {
    inset-inline-end: 0;
  }
}
/* other */
.toggler {
  font-weight: 600;
}

.toggler .button-icon {
  --bar-size: 2px;
  display: inline-flex;
  flex-flow: column nowrap;
  justify-content: space-between;
  vertical-align: 0.75em;
  margin-inline-start: 0.375em;
  inline-size: 1.325em;
  block-size: 1em;
  line-height: 1;
}

.toggler .button-icon > span {
  display: block;
  transition: transform var(--transition), opacity var(--transition);
  background-color: currentColor;
  inline-size: 100%;
  block-size: var(--bar-size);
}

.toggler .button-icon > span:where([aria-expanded=true] span):first-child {
  transform: translateY(0.5em) translateY(calc(var(--bar-size) / -2)) rotate(45deg) scale(1.125);
}

.toggler .button-icon > span:where([aria-expanded=true] span):not(:first-child):not(:last-child) {
  transform: scale(0.5);
  opacity: 0;
}

.toggler .button-icon > span:where([aria-expanded=true] span):last-child {
  transform: translateY(-0.5em) translateY(calc(var(--bar-size) / 2)) rotate(-45deg) scale(1.125);
}

/* content animations */
#content [data-state] {
  transition: var(--transition);
  transition-property: opacity, transform;
}

#content [data-state=hidden] {
  transform: translateY(1vb);
  opacity: 0;
}

/* text alignment */
.text-left {
  margin-inline-end: auto;
  text-align: start;
}

.text-center {
  margin-inline: auto;
  text-align: center;
}

.text-right {
  margin-inline-start: auto;
  text-align: end;
}

/* content */
[id=content] > [data-content] {
  padding-block: calc(var(--block-padding) / 2);
}
@media (min-width: 992px) {
  [id=content] > [data-content] {
    padding-block: var(--block-padding);
  }
}
[id=content] > [data-content][data-content=container_group] {
  padding-block: var(--block-padding);
}
[id=content] > [data-content]:last-child {
  padding-block-end: 0;
}
[id=content] > [data-content][data-content=header] {
  padding-block-end: calc(var(--block-padding) / 3);
}
[id=content] > [data-content][data-content=header] + [data-content] {
  padding-block-start: 0;
}

[id=content] header > .sub {
  padding-block-end: var(--gutter);
  margin-block-end: var(--gutter);
  border-block-end: var(--border-line) var(--color-border);
  max-inline-size: 100%;
  font-size: var(--font-size-md);
}

.row.no-rowgap {
  row-gap: 0;
}
}