@charset "UTF-8";/*@import "tailwindcss";*/
:root{
  --font-sans: var(--font-system-ui);
  --font-serif: ui-serif, serif;
  --font-mono: var(--font-monospace-code);
  --font-system-ui: system-ui, sans-serif;
  --font-monospace-code: Dank Mono,Operator Mono, Inconsolata, Fira Mono, ui-monospace, SF Mono, Monaco, Droid Sans Mono, Source Code Pro, Cascadia Code, Menlo, Consolas, DejaVu Sans Mono, monospace;
}

/* Variables */
:root {
  --xs: 22rem;
  --sm: 36rem;
  --md: 48rem;
  --lg: 64rem;
  --xl: 80rem;
  --xxl: 96rem;
  --xxxl: 1920px;
  --font-sans: "Geologica",
  ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji",
  "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-serif: "Literata",
  ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --fw-thin: 100;
  --fw-light: 200;
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-bold: 600;
  --fw-bolder: 700;
  --fw-black: 800;
  --body-font: var(--font-sans);
  --body-fw: var(--fw-light);
  --body-lh: 1.33;
  --link-fw: var(--fw-regular);
  --headings-fw: var(--fw-medium);
  --headings-lh: 1;
  --headings-font: var(--font-serif);
  --title-font: var(--font-serif);
  --title-fw: var(--fw-medium);
  --title-lh: 1.25;
  --red: from hsl(356 77% 46%) h s l;
  --gray: from hsl(205 10% 50%) h s l;
  --primary: var(--red);
  --gray-l: 50%;
  --white: from hsl(var(--gray)) h s calc(var(--gray-l) * 2);
  --gray-100: from hsl(var(--gray)) h s calc(var(--gray-l) * 1.92);
  --gray-200: from hsl(var(--gray)) h s calc(var(--gray-l) * 1.84);
  --gray-300: from hsl(var(--gray)) h s calc(var(--gray-l) * 1.5);
  --gray-400: from hsl(var(--gray)) h s calc(var(--gray-l) * 1.25);
  --gray-500: from hsl(var(--gray)) h s calc(var(--gray-l) * 1);
  --gray-600: from hsl(var(--gray)) h s calc(var(--gray-l) * .75);
  --gray-700: from hsl(var(--gray)) h s calc(var(--gray-l) * .5);
  --gray-800: from hsl(var(--gray)) h s calc(var(--gray-l) * .26);
  --gray-900: from hsl(var(--gray)) h s calc(var(--gray-l) * .15);
  --black: from hsl(var(--gray)) h s calc(var(--gray-l) * 0);
  --red-l: 46%;
  --red-100: from hsl(var(--red)) h s calc(var(--red-l) * 2.15);
  --red-200: from hsl(var(--red)) h s calc(var(--red-l) * 1.96);
  --red-300: from hsl(var(--red)) h s calc(var(--red-l) * 1.7);
  --red-400: from hsl(var(--red)) h s calc(var(--red-l) * 1.5);
  --red-500: from hsl(var(--red)) h s calc(var(--red-l) * 1.2);
  --red-600: from hsl(var(--red)) h s calc(var(--red-l) * 1);
  --red-700: from hsl(var(--red)) h s calc(var(--red-l) * .75);
  --red-800: from hsl(var(--red)) h s calc(var(--red-l) * .5);
  --red-900: from hsl(var(--red)) h s calc(var(--red-l) * .25);
  --primary-l: 46%;
  --primary-50: from hsl(var(--primary)) s 100 calc(var(--primary-l) * 2.13);
  --primary-100: from hsl(var(--primary)) h s calc(var(--primary-l) * 2.068);
  --primary-200: from hsl(var(--primary)) h 64% calc(var(--primary-l) * 1.82);
  --primary-300: from hsl(var(--primary)) h 75% calc(var(--primary-l) * 1.45);
  --primary-400: from hsl(var(--primary)) h 90% calc(var(--primary-l) * 1.39);
  --primary-450: from hsl(var(--primary)) h 85% calc(var(--primary-l) * 1.20);
  --primary-500: from hsl(var(--primary)) h s calc(var(--primary-l) * 1);
  --primary-600: from hsl(var(--primary)) h s calc(var(--primary-l) * .8);
  --primary-700: from hsl(var(--primary)) h s calc(var(--primary-l) * .6);
  --primary-800: from hsl(var(--primary)) h s calc(var(--primary-l) * .4);
  --primary-900: from hsl(var(--primary)) h s calc(var(--primary-l) * .2);
  --subtle: var(--gray-200);
  --subtle-bg: var(--gray-100);
  --subtle-dark: var(--gray-800);
  --light: var(--gray-400);
  --light-dark: var(--gray-500);
  --light-bg: var(--gray-200);
  --dark: var(--gray-800);
  --body-bg: var(--white);
  --body-color: var(--black);
  --body-subtle: var(--subtle);
  --body-light: var(--light);
  --shadow: var(--gray);
  /* if user picks a dark theme */
}
:root html[data-theme=dark] {
  color-scheme: dark;
}
:root {
  /* if user picks a light theme */
}
:root html[data-theme=light] {
  color-scheme: light;
}
@media (prefers-color-scheme: dark) {
  :root :root {
    --subtle: var(--gray-200);
    --subtle-bg: var(--gray-100);
    --light: var(--gray-400);
    --light-bg: var(--gray-200);
    --body-bg: var(--white);
    --body-color: var(--dark);
    --body-subtle: var(--subtle);
    --body-light: var(--light);
  }
}
@media (prefers-color-scheme: light) {
  :root :root {
    --subtle: var(--gray-800);
    --subtle-bg: var(--gray-900);
    --light: var(--gray-500);
    --light-bg: var(--gray-800);
    --body-bg: var(--white);
    --body-color: var(--black);
    --body-subtle: var(--subtle);
    --body-light: var(--light);
    --shadow: var(--gray);
  }
}
:root .theme-dark {
  --body-bg: var(--dark);
  --body-color: var(--white);
  --body-subtle: var(--subtle-dark);
  --body-light: var(--light-dark);
  --shadow: var(--gray);
  --headings-fw: 500;
}
:root .theme-light {
  --body-bg: var(--white);
  --body-color: var(--black);
  --body-subtle: var(--subtle);
  --body-light: var(--light);
  --shadow: var(--gray);
}
:root {
  --border-radius: .5em;
  --shadow-img:
          .25em .5em 1em 0 hsl(var(--dark) / .15),
          .125em .25em .5em 0 hsl(var(--dark) / .20),
          .075em .125em .25em 0 hsl(var(--dark) / .25);
  --shadow-lb:
          0 .375em .5em 0 hsl(var(--dark) / .125),
          0 .5em .75em .375em hsl(var(--dark) / .125),
          0 .75em 1em .375em hsl(var(--dark) / .125),
          0 1em 1em -5px hsl(var(--dark) / .125);
  --shadow-long:
          0 1px 0 0 hsl(var(--dark) / .05),
          0 .25em .25em 0 hsl(var(--dark) / .05),
          0 .125em .125em 0 hsl(var(--dark) / .05),
          0 .375em .25em 0 hsl(var(--dark) / .05),
          0 .625em .5em 0 hsl(var(--dark) / .05),
          0 1em 1em 0 hsl(var(--dark) / .05),
          0 1.5em 2em 0 hsl(var(--dark) / .05);
  --shadow-xl:
          0 1.25em 2.5em 0 hsl(var(--dark) / .25),
          0 .625em 2.5em .625em hsl(var(--dark) / .5),
          0 .625em 4em -5px hsl(var(--dark) / .25),
          0 0 1px 1px hsl(var(--dark) / .25) inset,
          0 0 12.5em 0 hsl(var(--dark) / .15) inset;
  --shadow-form:
          0 4px 6px 0 hsl(var(--body-color) / .05);
  --shadow-form-active:
          0 1px 1px 0 hsl(var(--body-color) / .14),
          0 2px 2px 0 hsl(var(--body-color) / .12),
          0 4px 6px 0 hsl(var(--body-color) / .08),
          0 6px 12px 0 hsl(var(--body-color) / .06);
  --border-width: 1px;
  --border-style: solid;
  --border-color: hsl(var(--body-color) / .1);
  --outline-width: .1em;
  --outline-style: solid;
  --outline-focus-color: hsl(var(--body-color) / .5);
  --transition-duration: .3s;
  --transition-delay: 0s;
  --transition-easing: ease-in-out;
  --transition: var(--transition-duration) var(--transition-easing) var(--transition-delay);
  --gap-xs: .25rem;
  --gap-s: .5rem;
  --gap: 1rem;
  --gap-m: 1.5rem;
  --gap-l: 3rem;
  --gap-xl: 5rem;
  --gap-xxl: 8rem;
  --gap-left: 4rem;
  --content-max: 1440px;
  --content-gap: calc(var(--gap) * 1.5);
  --content-aside: var(--aside-width, 20rem);
  --header-height: 11.4375em;
  --header-height--sticky: 3em;
  --link-transition: .2s ease-in-out;
  --swiper-pagination-color: hsl(var(--white)/1);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: .5em;
  --swiper-pagination-bottom: 0;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: hsl(var(--white) / .25);
  --swiper-pagination-progressbar-size: .5em;
  --swiper-pagination-bullet-size: var(--swiper-pagination-bullet-base, 1em);
  --swiper-pagination-bullet-width: var(--swiper-pagination-bullet-base, 1em);
  --swiper-pagination-bullet-height: 1em;
  --swiper-pagination-bullet-inactive-color: hsl(var(--white)/1);
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: .15em;
  --swiper-pagination-bullet-vertical-gap: 1em;
  --swiper-pagination-bullet-border-radius: .5em;
  --swiper-navigation-color: var(--white);
}

:root {
  --font-sans: 'Geologica', sans-serif;
  --font-serif: 'Literata', serif;
}

@layer reset, base, util, layout, components, post;
@layer reset {
  html {
    color-scheme: light dark;
    -moz-tab-size: 2;
      -o-tab-size: 2;
         tab-size: 2;
    hanging-punctuation: first allow-end last;
    word-break: break-word;
    scroll-behavior: smooth;
  }
  body {
    margin: 0;
  }
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }
  h1,
  h2 {
    font-weight: var(--headings-fw);
    letter-spacing: -0.02rem;
  }
  h1,
  h2,
  h3 {
    line-height: var(--heading-lh);
  }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    text-wrap: pretty;
    margin-block-start: 0;
  }
  p,
  li,
  dd {
    text-wrap: pretty;
    max-inline-size: 88ch;
    margin-block: 0;
  }
  a {
    color: currentColor;
    text-underline-offset: 2px;
    text-decoration: none;
  }
  a:not(:is(:hover, :focus, :focus-visible)) {
    text-decoration-color: color-mix(in srgb, currentColor, transparent 50%);
  }
  sub,
  sup {
    font-size: 75%;
    line-height: 0;
    position: relative;
    vertical-align: baseline;
  }
  sub {
    inset-block-end: -0.25em;
  }
  sup {
    inset-block-start: -0.5em;
  }
  blockquote {
    margin: 0;
  }
  ul,
  ol,
  dl {
    margin: 0;
    padding: 0;
    list-style-position: inside;
  }
  ul ul,
  ul ol,
  ul dl,
  ol ul,
  ol ol,
  ol dl,
  dl ul,
  dl ol,
  dl dl {
    padding-inline-start: 2ch;
  }
  dl dt {
    font-weight: var(--fw-medium);
  }
  dl dt:not(:first-of-type) {
    margin-block-start: var(--gap);
  }
  dl dd {
    margin-inline: 0;
  }
  nav {
    list-style: none;
  }
  img,
  video,
  iframe {
    display: block;
    max-inline-size: 100%;
    border-style: none;
  }
  img,
  video {
    block-size: auto;
  }
  figure {
    margin: 0;
  }
  figcaption {
    contain: inline-size;
  }
  input,
  select,
  textarea,
  button {
    font: inherit;
    /* FUTURE: appearance: base; */
  }
  label {
    display: block;
  }
  input:not(:where([type=submit],
  [type=checkbox],
  [type=radio],
  [type=button],
  [type=reset])) {
    inline-size: 100%;
  }
  button,
  input:where([type=submit],
  [type=reset],
  [type=button]) {
    background: CanvasText;
    color: Canvas;
    border: 1px solid transparent;
  }
  textarea {
    field-sizing: content;
    min-block-size: 5lh;
    inline-size: 100%;
    max-inline-size: 100%;
  }
  pre,
  code,
  kbd,
  samp {
    font-family: ui-monospace, SFMono-Regular, monospace;
  }
  svg {
    fill: currentColor;
  }
  [aria-disabled=true i],
  [disabled] {
    cursor: not-allowed;
  }
  :where([hidden]) {
    display: none;
  }
  [disabled],
  label:has(input[disabled]) {
    opacity: 0.5;
  }
  [disabled] [disabled],
  label:has(input[disabled]) [disabled] {
    opacity: 1;
  }
  pre {
    white-space: pre-wrap;
    background: CanvasText;
    color: Canvas;
    padding: 1.5rem;
  }
  hr {
    border-style: solid;
    border-width: 1px 0 0;
    color: inherit;
    height: 0;
    overflow: visible;
    margin-block: 2.5rem;
  }
  :target {
    scroll-margin: 3rlh;
  }
  table {
    caption-side: bottom;
    border-collapse: collapse;
  }
  table td {
    font-size: 90%;
  }
  table td,
  table th {
    word-break: normal;
    border: 1px solid gray;
    padding: 0.5rem;
  }
  [role=region][aria-labelledby][tabindex] {
    overflow: auto;
  }
  caption {
    font-size: 90%;
  }
  .screenreader-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    height: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px;
  }
  :focus-visible {
    outline-offset: 2px;
  }
  @media (prefers-reduced-motion: no-preference) {
    @view-transition {
      navigation: auto;
    }
    html {
      interpolate-size: allow-keywords;
    }
    html:focus-within {
      scroll-behavior: smooth;
    }
  }
}
@layer base {
  :root {
    interpolate-size: allow-keywords;
  }
  :root:has(.reset:active) * {
    animation-name: none;
  }
  body {
    font-family: var(--body-font, sans-serif);
    font-weight: var(--body-fw, 300);
    line-height: var(--body-lh, 1.5);
  }
  h1, h2, h3, h4, h5, h6,
  .h1, .h2, .h3, .h4, .h5, .h6 {
    font-weight: var(--headings-fw, 600);
    line-height: var(--headings-lh, 1);
    display: block;
    margin-block: 0;
  }
  h1, .h1 {
    font-size: 2em;
  }
  h2, .h2 {
    font-size: 1.5em;
  }
  h3, .h3 {
    font-size: 1.25em;
  }
  h4, .h4 {
    font-size: 1.125em;
  }
  h5, .h5 {
    font-size: 1em;
  }
  h6, .h6 {
    font-size: 0.875em;
  }
  .title {
    font-family: var(--title-font);
    font-weight: var(--title-fw, 500);
    line-height: var(--title-lh, 1.2);
  }
  .title a {
    display: block;
  }
  strong {
    font-weight: var(--fw-bold);
  }
  address {
    font-style: normal;
  }
  /* FORM */
  form {
    margin: 0;
  }
  /* FIELDSET / LEGEND */
  fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-inline-size: 0;
  }
  legend {
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    display: block;
    width: 100%;
  }
  /* LABEL */
  label {
    cursor: pointer;
  }
  /* INPUTS, TEXTAREA, SELECT */
  input,
  textarea,
  select,
  button {
    font: inherit;
    color: inherit;
  }
  /* REMOVE DEFAULT INPUT STYLES */
  input,
  textarea,
  select {
    margin: 0;
    border: none;
    background: none;
    padding: 0;
    border-radius: 0;
  }
  /* TEXTAREA */
  textarea {
    resize: vertical;
  }
  /* BUTTON */
  button {
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  /* SELECT */
  select {
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
  }
  /* CHECKBOX / RADIO (keep usable) */
  input[type=checkbox],
  input[type=radio] {
    margin: 0;
    padding: 0;
  }
  /* FILE INPUT */
  input[type=file] {
    font: inherit;
  }
  /* SEARCH INPUT FIX */
  input[type=search] {
    -webkit-appearance: none;
  }
  /* FOCUS STYLES (important for accessibility) */
  :focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
  }
  /* DISABLED */
  :disabled {
    cursor: not-allowed;
    opacity: 0.6;
  }
  ::-moz-selection {
    background-color: hsl(var(--body-color)/1);
    color: hsl(var(--body-bg)/1);
  }
  ::selection {
    background-color: hsl(var(--body-color)/1);
    color: hsl(var(--body-bg)/1);
  }
}
@layer util {
  .hidden {
    display: none !important;
  }
  :where(a,
  button,
  input,
  textarea,
  select,
  details,
  audio,
  video,
  object,
  [contenteditable],
  [tabindex]) {
    --_focus-ring-distance: .2rem;
    --_focus-ring-color-background: var(--body-bg);
  }
  :where(a,
  button,
  input,
  textarea,
  select,
  details,
  audio,
  video,
  object,
  [contenteditable],
  [tabindex]):focus-visible {
    --_focus-ring-color-inner: hsl(0 0% 100%);
    --_focus-ring-color-outer: hsl(0 0% 0%);
    box-shadow: 0 0 0 var(--_focus-ring-distance) var(--_focus-ring-color-background), 0 0 0 calc(var(--_focus-ring-distance) * 2) var(--_focus-ring-color-inner), 0 0 0 calc(var(--_focus-ring-distance) * 3) var(--_focus-ring-color-background), 0 0 0 calc(var(--_focus-ring-distance) * 4) var(--_focus-ring-color-outer);
    outline: none;
  }
  @supports (color: hsl(from hsl(0, 0%, 100%) h s l)) {
    :where(a,
    button,
    input,
    textarea,
    select,
    details,
    audio,
    video,
    object,
    [contenteditable],
    [tabindex]):focus-visible {
      --_focus-ring-color-inner: currentColor;
      --_focus-ring-color-outer: hsl(from var(--_focus-ring-color-inner) calc(h + 180) s l);
      box-shadow: 0 0 0 var(--_focus-ring-distance) var(--_focus-ring-color-background), 0 0 0 calc(var(--_focus-ring-distance) * 2) var(--_focus-ring-color-inner), 0 0 0 calc(var(--_focus-ring-distance) * 3) var(--_focus-ring-color-background), 0 0 0 calc(var(--_focus-ring-distance) * 4) var(--_focus-ring-color-outer);
      outline: none;
    }
  }
  .color--primary {
    color: hsl(var(--primary)/1);
  }
  .heading {
    display: flex;
    align-items: center;
    gap: calc(var(--gap) * 0.25);
    font-size: 1.25em;
    font-size: clamp(1.25em, 0.875em + 0.75cqw, 1.5em);
    line-height: 1;
  }
  .heading em {
    font-style: normal;
    color: hsl(var(--primary)/1);
  }
  .heading > a, .heading > span {
    --line-size: 3px;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    flex: 1;
    gap: calc(var(--gap) * 0.25);
  }
  .heading > a:before, .heading > span:before {
    order: 99;
    flex: 1;
    width: 100%;
    height: var(--line-size);
    background-color: currentColor;
  }
  .heading a span {
    position: relative;
    z-index: 1;
  }
  .heading a:before {
    transition: background, color 0.2s ease-in-out, -webkit-mask-image;
    transition: background, mask-image, color 0.2s ease-in-out;
    transition: background, mask-image, color 0.2s ease-in-out, -webkit-mask-image;
    background: linear-gradient(90deg, currentColor calc(100% - var(--line-size) * 4), transparent calc(100% - var(--line-size) * 4), transparent calc(100% - var(--line-size) * 3), currentColor calc(100% - var(--line-size) * 3), currentColor calc(100% - var(--line-size) * 2), transparent calc(100% - var(--line-size) * 2), transparent calc(100% - var(--line-size) * 1), currentColor calc(100% - var(--line-size) * 1), currentColor 100%);
  }
  .heading a:after {
    content: "";
    display: flex;
    align-items: center;
    font-size: 0.8125em;
    height: 1em;
    width: 1em;
    margin-inline: -1em 0;
    opacity: 0;
    background-color: currentColor;
    background-repeat: no-repeat;
    -webkit-mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 2L18 10L10 18' stroke='currentColor' stroke-width='.2em'/%3E%3Cpath d='M0 10L18 10' stroke='currentColor' stroke-width='.2em'/%3E%3C/svg%3E%0A");
            mask: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 2L18 10L10 18' stroke='currentColor' stroke-width='.2em'/%3E%3Cpath d='M0 10L18 10' stroke='currentColor' stroke-width='.2em'/%3E%3C/svg%3E%0A");
    transition: opacity, margin-inline 0.2s ease-out;
  }
  .heading a:hover:after, .heading a:focus:after, .heading a:focus-visible:after {
    margin-inline: 0;
    opacity: 1;
  }
  .heading.h1 {
    font-size: 2em;
  }
  .heading [data-icon] {
    font-size: 0.75em;
    font-size: 0.575em;
    margin-right: 0.25em;
    color: hsl(var(--primary)/1);
  }
  .heading [data-icon][data-icon=icon-category], .heading [data-icon][data-icon=icon-sub] {
    font-size: 0.5em;
  }
  .heading [data-icon].icon--large {
    font-size: 1em;
  }
  .heading--category:before {
    content: "■";
  }
  .heading:has(small, .heading-sub), .breadcrumb-item:not(:only-of-type) .heading {
    flex-wrap: wrap;
  }
  .heading:has(small, .heading-sub) [data-icon], .breadcrumb-item:not(:only-of-type) .heading [data-icon] {
    order: -2;
  }
  .heading:has(small, .heading-sub) a, .breadcrumb-item:not(:only-of-type) .heading a {
    flex: 0 0 auto;
  }
  .heading:has(small, .heading-sub) a:after, .breadcrumb-item:not(:only-of-type) .heading a:after {
    scale: -1;
    order: -1;
    margin-inline: 0 -1.15em;
  }
  .heading:has(small, .heading-sub) a:hover:after, .heading:has(small, .heading-sub) a:focus:after, .heading:has(small, .heading-sub) a:focus-visible:after, .breadcrumb-item:not(:only-of-type) .heading a:hover:after, .breadcrumb-item:not(:only-of-type) .heading a:focus:after, .breadcrumb-item:not(:only-of-type) .heading a:focus-visible:after {
    margin-inline: 0;
  }
  .heading small, .heading--sub {
    font-size: 1em;
    font-weight: var(--fw-light);
  }
  .heading small:before, .heading--sub:before {
    content: "\\";
    margin-inline: 0 calc(var(--gap) * 0.25);
    color: hsl(var(--body-color)/0.25);
  }
  .heading.has--line > a:before, .heading.has--line > span:before {
    content: "";
  }
  .heading.has--line > a:before, .heading.has--line > a:after {
    color: var(--heading-line);
  }
  .heading.has--line > a:hover:after, .heading.has--line > a:focus:after, .heading.has--line > a:focus-visible:after {
    color: hsl(var(--primary)/1);
    width: 1em;
    margin-left: calc(var(--line-size) * 1);
  }
  .heading.has--line > a:hover:before, .heading.has--line > a:focus:before, .heading.has--line > a:focus-visible:before {
    background: linear-gradient(90deg, currentColor 50%, transparent 50%);
    background-repeat: repeat-x;
    background-size: calc(var(--line-size) * 2) calc(var(--line-size) * 2);
    background-position: 0% 0%;
    color: hsl(var(--primary)/1);
  }
  @keyframes dash {
    to {
      background-position: 100% 0%;
    }
  }
  .heading.has--line.has--line-primary, .theme-dark .heading.has--line {
    --heading-line: hsl(var(--primary)/1);
  }
  [type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button;
  }
  :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn) {
    --btn-fw: var(--fw-regular);
    --btn-padding: 1em;
    --btn-radius: 0;
    --btn-color: var(--body-color);
    --btn-hover-background: var(--primary);
    --btn-background: transparent;
    --btn-border: var(--body-color);
    --btn-transition: .2s ease-in-out;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    cursor: pointer;
    text-decoration: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    vertical-align: middle;
    transition: background-color var(--btn-transition), border-color var(--btn-transition), color var(--btn-transition), box-shadow var(--btn-transition);
    padding: calc(var(--btn-padding) * 0.75) calc(var(--btn-padding) * 1);
    font-weight: var(--btn-fw, inherit);
    line-height: 1;
    letter-spacing: 0.05em;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-flow: row nowrap;
    gap: calc(var(--btn-padding) * 0.75);
    width: -moz-fit-content;
    width: fit-content;
    color: hsl(var(--btn-color, currentColor)/1);
    background: hsl(var(--btn-background, trannsparent)/0.8);
    outline: 0;
    border-radius: var(--btn-border-radius, 0);
    border: 0.15em solid hsl(var(--btn-border, currentColor)/0.8);
  }
  :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):hover, :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):focus, :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):focus-visible {
    --btn-color: var(--body-bg);
    --btn-background: var(--body-color);
    --btn-border: var(--body-color);
    background: hsl(var(--btn-background, trannsparent)/1);
    border: 0.15em solid hsl(var(--btn-border, currentColor)/1);
  }
  :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):hover::before, :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):focus::before, :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):focus-visible::before {
    animation: shine 0.6s ease forwards;
  }
  :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn) [data-icon] {
    color: currentColor;
  }
  :where([type=button], [type=file]::file-selector-button, [type=submit], [type=reset], button, .btn):has([data-icon]) {
    padding-inline: calc(var(--btn-padding) * 0.75);
  }
  .btn, .btn:after, .btn:before {
    border-radius: var(--btn-radius);
  }
  .btn.has--icon {
    padding-inline-start: calc(var(--btn-padding) * 2);
  }
  .btn-link {
    --btn-color: var(--body-color);
    --btn-border: transparent;
    display: flex;
    align-items: center;
    gap: var(--btn-padding);
    padding: 0;
    color: hsl(var(--btn-color)/1);
    background-color: transparent;
  }
	.menu footer .btn--link, .menu footer .btn-link {
		font-size: 0.875em;
	}
  .btn-link em {
    font-style: normal;
    color: hsl(var(--primary)/1);
  }
  .btn-link span {
    white-space: nowrap;
  }
  .btn-link [data-icon] {
    height: 1em;
  }
  .btn-link:hover, .btn-link:focus, .btn-link:focus-visible {
    color: hsl(var(--primary)/1);
  }
  .btn-link.is--tag {
    gap: 0.125em;
    font-weight: var(--fw-regular);
  }
  .btn-link.is--tag:before {
    content: "#";
    color: hsl(var(--primary)/1);
  }
  .btn-link.is--lg {
    font-size: 1em;
  }
  .btn--search, .btn--close, .btn--menu {
    --btn-color: currentColor;
    --btn-background: transparent;
    --btn-border: transparent;
    --btn-radius: 2em;
    z-index: 1;
    background-color: var(--btn-background);
    color: var(--btn-color);
    padding: 0.5em;
    width: 2.25em;
  }
  .btn--search:hover, .btn--search:focus, .btn--search:focus-visible, .btn--close:hover, .btn--close:focus, .btn--close:focus-visible, .btn--menu:hover, .btn--menu:focus, .btn--menu:focus-visible {
    --btn-background: hsl(var(--body-color)/.075);
  }
  @media (max-width: 48rem) {
    .btn--search, .btn--close, .btn--menu {
      margin-block: 0.375em;
    }
  }
  .isSticky .btn--search, .isSticky .btn--close, .isSticky .btn--menu {
    margin-block: 0.375em;
  }
  .btn--search [data-icon], .btn--close [data-icon], .btn--menu [data-icon] {
    display: block;
    font-size: 1.25em;
  }
  .btn--search [data-icon=icon-close], .btn--close [data-icon=icon-close], .btn--menu [data-icon=icon-close] {
    display: none;
  }
  .btn--search[aria-expanded=true] [data-icon], .btn--close[aria-expanded=true] [data-icon], .btn--menu[aria-expanded=true] [data-icon] {
    display: none;
  }
  .btn--search[aria-expanded=true] [data-icon=icon-close], .btn--close[aria-expanded=true] [data-icon=icon-close], .btn--menu[aria-expanded=true] [data-icon=icon-close] {
    display: flex;
  }
  .btn--menu[aria-expanded=true]:hover, .btn--menu[aria-expanded=true]:focus, .btn--menu[aria-expanded=true]:focus-visible, .btn--search[aria-expanded=true]:hover, .btn--search[aria-expanded=true]:focus, .btn--search[aria-expanded=true]:focus-visible {
    --btn-color: hsl(var(--primary)/1);
    --btn-background: hsl(var(--primary)/.075);
  }
  .btn.width--full, .btn.w--full {
    width: 100%;
  }
  .btn--outlined {
    --btn-color: var(--body-color);
    --btn-background: transparent;
    --btn-border: var(--btn-color);
  }
  .btn--outlined:hover, .btn--outlined:focus, .btn--outlined:focus-visible {
    --btn-color: var(--primary);
  }
  .btn--dark {
    --btn-color: var(--body-bg);
    --btn-background: var(--body-color);
    --btn-border: var(--body-color);
  }
  .btn--light {
      --btn-color: var(--body-light);
      --btn-border: transparent;
      --btn-background: transparent;
	  
      &:hover, &:focus, &:focus-visible, &:active {
        --btn-color: var(--primary);
      }
  }
  .btn--primary {
    --body-color: var(--primary);
    --btn-hover-background: var(--black);
  }
  .btn--badge {
    --btn-color: var(--body-color);
    --btn-background: var(--body-bg);
    --btn-radius: .75em;
    --btn-border: var(--gray-200);
    transition: all 0.3s cubic-bezier(0.55, 0, 1, 0.45);
    position: relative;
    padding: calc(var(--btn-padding) * 0.75) calc(var(--btn-padding) * 1);
    font-size: 1em;
  }
  .btn--badge:after {
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    position: absolute;
    z-index: 0;
    bottom: 0;
    opacity: 0;
    background: linear-gradient(to bottom, hsl(var(--btn-background)/0) 50%, hsl(var(--btn-color)/0.1) 90%, hsl(var(--btn-color)/0));
    box-shadow: 0 2px 2px 0 hsl(var(--body-color)/0.15), 0 4px 4px 0 hsl(var(--body-color)/0.1), 0 8px 8px 0 hsl(var(--body-color)/0.075), 0 12px 16px 0 hsl(var(--body-color)/0.05), inset 0 0 2em hsl(var(--btn-background)/1);
    transition: opacity 0.3s cubic-bezier(0.44, 0, 0.56, 1);
  }
  .btn--badge [data-icon] {
    font-size: 0.75em;
  }
  .btn--badge [data-icon="facebook"] { color: #1877F2; }
  .btn--badge small {
    font-weight: var(--fw-light);
    font-size: 0.75em;
  }
  .btn--badge .content {
    font-size: 1.25em;
    display: flex;
    flex-flow: column nowrap;
  }
  .btn--badge:hover:after, .btn--badge:focus:after, .btn--badge:focus-visible:after {
    opacity: 1;
  }
  .group {
    display: flex;
    flex-flow: column nowrap;
    list-style: none;
    gap: calc(var(--gap) * 0.75);
  }
  .group--inline {
    flex-flow: row wrap;
    align-items: center;
  }
  .group--between {
    justify-content: space-between;
  }
  .group--center {
    justify-content: center;
  }
  .has--scroll {
    --after-height: 3em;
    --scroll-max-height: 35rem;
    overflow: hidden auto;
    position: relative;
    max-height: min(50vh, var(--scroll-max-height));
  }
  .has--scroll .heading {
    position: sticky;
    top: 0;
  }
  .has--scroll:after {
    content: "";
    display: block;
    position: sticky;
    z-index: 2;
    bottom: 0;
    width: 100%;
    background: linear-gradient(0deg, hsl(var(--body-bg)/1), hsl(var(--body-bg)/0));
    pointer-events: none;
    height: var(--after-height);
  }
}
@layer layout {
  body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: min-content 1fr min-content;
    min-height: 100svh;
    color: hsl(var(--body-color)/1);
    background: hsl(var(--body-bg)/1);
  }
  @media (width < 64rem) {
    body:has(.btn--menu[aria-expanded=true]) {
      overflow-y: hidden;
    }
  }
  .wrapper {
    --wrapper-gap: calc(var(--content-gap) * 1);
    position: relative;
    margin-inline: max(var(--wrapper-gap), 50cqw - var(--content-max) / 2);
    width: min(var(--content-max), 100% - var(--wrapper-gap) * 2);
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--wrapper-gap) * 1);
  }
  @media (width < 64rem) {
    .wrapper:has(.article-grid) {
      --wrapper-gap: 0;
    }
  }
  @media (width < 64rem) {
    .wrapper:has(.article-grid) {
		row-gap: calc(var(--content-gap) * 2);
    }
    .wrapper:has(.article-grid) > aside {
      margin-inline: var(--content-gap);
    }
  }
  .wrapper.w-full {
    margin-inline: min(0px, var(--w) / 2 - 50cqw);
    max-width: none;
    width: 100%;
  }
  .header--main {
    --header-logo-height: 2rem;
    z-index: 100;
  }
  @media (width > 48rem) {
    .header--main {
      --header-logo-height: 4rem;
    }
  }
  .header--main:has(.header-overlay[aria-expanded=true]) .header-row--nav {
    transition: box-shadow 1s ease-in-out;
    box-shadow: 0 0.75em 1em 0 hsl(var(--shadow)/0.05), 0 0.5em 0.5em 0 hsl(var(--shadow)/0.05), 0 0.125em 0.125em 0 hsl(var(--shadow)/0.05);
  }
  .header--main:has(.header-overlay[aria-expanded=true]) .btn {
    z-index: 1;
  }
  @media (max-width: 48rem) {
    .header--main .nav-wrapper {
      display: none;
    }
  }
  .isSticky .header--main .nav-wrapper {
    display: none;
  }
  .header--main .site-title {
    z-index: 1;
    margin-inline: auto;
    justify-self: center;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    max-width: calc(100vw - var(--content-gap) * 6);
  }
	@media (48rem < width < 64rem) {
    .header--main .site-title {
      margin-block: 1.125rem;
    }
  }
  .header--main .site-title a,
  .header--main .site-title svg {
    display: block;
  }
  .header--main .site-title svg {
    height: var(--header-logo-height);
    width: auto;
  }
  .header--main.isSticky {
    --header-logo-height: 2rem;
    transition: box-shadow 1s ease-in-out;
    box-shadow: 0 0.75em 1.5em 0 hsl(var(--shadow)/0.125), 0 0.5em 1em 0 hsl(var(--shadow)/0.125), 0 0.125em 0.25em 0 hsl(var(--shadow)/0.125);
    position: fixed;
    top: var(--efsyn-admin-bar-h, 0px);
    left: 0;
    right: 0;
    min-height: var(--header-height--sticky);
    will-change: transform;
  }
  .header-spacer { display: none; }
  .header-spacer.is-active { display: block; }
  .header--main.isSticky:before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.75) 25%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.5));
    backdrop-filter: blur(12px);
  }
  .header-row {
    padding-inline: var(--gap);
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
  }
  .header-row--top {
    border-bottom: 1px solid var(--border-color);
  }
  @media (max-width: 48rem) {
    .header-row--top {
      display: none;
    }
  }
  .isSticky .header-row--top {
    display: none;
  }
  .header-row--main {
    padding-block: calc(var(--gap) * 1.5);
  }
  @media (width < 64rem) {
    .header-row--main {
      padding-block: calc(var(--gap) * 0.5);
    }
  }
  .isSticky .header-row--main {
    padding-block: calc(var(--gap) * 0.5);
    height: var(--header-height--sticky);
  }
  .header-row--nav {
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
    padding-inline: calc(var(--gap) * 0.5);
  }
  @media (max-width: 48rem) {
    .header-row--nav {
      position: absolute;
      top: 0;
      height: var(--header-height--sticky);
      border-top: 0;
    }
    .header-row--nav .nav {
      display: none;
    }
  }
  .isSticky .header-row--nav {
    position: absolute;
    top: 0;
    height: var(--header-height--sticky);
    border-top: 0;
  }
  .isSticky .header-row--nav .nav {
    display: none;
  }
  .header-col {
    width: 33.333%;
    justify-content: center;
  }
  @media (max-width: 64rem) {
    .header-col {
      display: none;
    }
  }
  .isSticky .header-col {
    display: none;
  }
  .header-info {
    font-size: 0.875em;
  }
  .header-component {
    display: flex;
    flex-flow: row nowrap;
    gap: var(--gap);
    align-items: center;
    justify-content: center;
  }
  .header-component small {
    display: block;
  }
  .header-component a:hover, .header-component a:focus, .header-component a:focus-visible {
    text-decoration: underline;
  }
  .header-component .content {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.25);
    line-height: 1;
  }
  .header-component .words-title {
    display: block;
    font-size: 1em;
    line-height: var(--headings-lh);
    font-weight: var(--headings-fw);
  }
  .header-component [data-icon] {
    font-size: 1.75em;
  }
  .header-overlay {
    display: none;
    position: absolute;
    top: calc(var(--header-height) + 4px);
    left: 0;
    right: 0;
    flex-flow: column nowrap;
    align-items: center;
    width: 100%;
    max-width: 100dvw;
    max-height: calc(100dvh - var(--header-height));
    background: radial-gradient(ellipse 80% 100px at top center, hsl(var(--body-color)/0.15), hsl(var(--body-color)/0.05), hsl(var(--body-bg)/0.9));
    box-shadow: 0 0.75em 1.5em 0 hsl(var(--shadow)/0.125), 0 0.5em 1em 0 hsl(var(--shadow)/0.125), 0 0.125em 0.25em 0 hsl(var(--shadow)/0.125);
    backdrop-filter: blur(10px);
  }
	@media (width < 80rem) {
		.header-overlay {
			overflow-y: auto;
			-webkit-overflow-scrolling: touch;
			overscroll-behavior: contain;
		}
	}
  @media (width < 48rem) {
    .header-overlay {
      top: var(--header-height--sticky);
      max-height: calc(100dvh - var(--header-height--sticky));
    }
  }
  .isSticky .header-overlay {
    top: var(--header-height--sticky);
  }
  .header-overlay[aria-expanded=true] {
    display: grid;
  }
  .header-overlay:before {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0.75) 25%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0.75) 75%, rgba(255, 255, 255, 0.5));
    background: hsl(var(--gray-100)/0.75);
  }
  .header-overlay:after {
    display: block;
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
  }
  .header-title {
    display: none;
    flex-flow: row nowrap;
    align-items: center;
    font-size: clamp(1rem, 0.25rem + 1.5625vw, 1.5rem);
    overflow: hidden;
    max-width: 0;
    transition: max-width 0.2s ease;
  }
  .header-title [data-icon] {
    --header-logo-height: 1em;
  }
  @media (width < 36rem) {
    .header-title [data-icon] {
      --header-logo-height: 2em;
    }
  }
  .header-title .title {
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 1em;
    line-height: 1.2;
  }
  .header-title ~ .site-home {
    order: -1;
  }
  .isSticky .header-title {
    gap: var(--gap);
  }
  @media (width > 36rem) {
    .isSticky .header-title {
      display: flex;
      max-width: 100cqw;
    }
    .isSticky .header-title ~ .site-home {
      --header-logo-height: 0;
    }
  }
  .nav {
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    list-style: none;
  }
  .nav-wrapper {
    display: flex;
  }
  .footer .nav-wrapper {
    flex: 1 0 auto;
  }
  @media (max-width: 64rem) {
    .footer .nav-wrapper {
      flex-flow: column nowrap;
      align-items: center;
      gap: calc(var(--gap) * 1.5);
    }
  }
  .nav-list {
    display: flex;
    flex-flow: row wrap;
    justify-content: flex-start;
    list-style: none;
    padding: 0;
    margin: 0;
  }
  .header .nav-list {
    flex-wrap: nowrap;
  }
  .footer .nav-list {
    -moz-column-gap: calc(var(--gap) / 2);
         column-gap: calc(var(--gap) / 2);
  }
  .nav-list:has(+ .nav-list) {
    border-right: 1px solid var(--border-color);
  }
  .nav-list--icons {
    padding-block: 0.5em;
    gap: 0.75em;
  }
  .nav-list--icons span {
    display: none;
  }
  .nav-list--sub {
    gap: calc(var(--gap) * 0.75);
  }
  @media (min-width: 64rem) {
    .header .nav-icon [data-icon] {
      display: block;
    }
    .header .nav-icon span {
      display: none;
    }
  }
  .nav-link {
    --link-bg-color: var(--gray-200);
    --link-bg-opacity: 0;
    --link-hover-color: var(--primary);
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: 0.6875rem 0.5rem;
    font-size: 0.875em;
    font-weight: var(--link-fw);
    line-height: 1;
    color: hsl(var(--body-color)/1);
    text-decoration: none;
    background-color: hsl(var(--link-bg-color)/var(--link-bg-opacity));
    transition: background-color, color, opacity;
    transition-duration: 0.2s;
    transition-timing-function: ease-in-out;
  }
  .nav-link em {
    font-style: normal;
    color: hsl(var(--primary)/1);
  }
  .nav-link span {
    white-space: nowrap;
  }
  .nav-link--icons {
    font-size: 1em;
    padding: 0.5em;
    margin: -0.5em;
  }
  .footer .nav-link {
    font-size: 0.875em;
    padding-inline: 0;
    background: none;
    box-shadow: none;
  }
  .footer .nav-link--icons {
    padding-inline: 0.5em;
  }
  .nav-link.primary {
    --link-bg-color: var(--red);
  }
  .nav-link:hover, .nav-link:focus, .nav-link:focus-visible {
    color: hsl(var(--link-hover-color)/1);
  }
  .nav-link[aria-current=page] {
    --link-bg-opacity: .25;
  }
  .header--main .nav-link[aria-current=page] {
    box-shadow: inset 0 0 6px hsl(var(--link-bg-color)/1);
  }
  .header--main .nav-link[aria-current=page].primary {
    background-color: hsl(var(--red)/1);
    color: hsl(var(--white)/1);
  }
  .header--main .nav-link[aria-current=page].primary span:before {
    color: hsl(var(--white)/1);
  }
  .footer .nav-link[aria-current=page] {
    color: hsl(var(--primary)/1);
  }
  .nav-group .nav-link[aria-current=page], .nav-list--sub .nav-link[aria-current=page] {
    color: hsl(var(--primary)/1);
  }
  @media (width > 80rem) {
    .nav--main .nav-link {
      font-size: 1em;
    }
  }
  .nav-link--sub {
    --link-bg-color: transparent;
    display: block;
    padding: calc(var(--gap) * 0.25) 0;
    --link-fw: var(--fw-light);
    font-size: clamp(0.875em, 0.5em + 0.7813vw, 1em);
  }
  .nav-link--sub:hover, .nav-link--sub:focus, .nav-link--sub:focus-visible {
    color: hsl(var(--primary)/1);
    text-decoration: underline;
  }
  @media (max-width: 64rem) {
    .nav--main {
      display: none;
    }
  }
  .nav-group {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.5);
  }
  @media (width < 64rem) {
    aside .nav-group {
      flex-flow: row wrap;
      justify-content: flex-start;
      border-bottom: 1px solid var(--border-color);
      padding: calc(var(--gap) * 0.5) calc(var(--content-gap) * 1);
      margin-block: calc(var(--content-gap) * -1) calc(var(--gap) * 1);
    }
  }
  @media (36rem < width < 64rem) {
    aside .nav-group {
      margin-block: calc(var(--content-gap) * -1.5) calc(var(--gap) * 1);
    }
  }
  main {
    display: flex;
    flex-flow: column nowrap;
    container-type: inline-size;
  }
  .footer--main {
    --body-color: var(--gray-200);
    --body-bg: var(--gray-900);
    --headings-fw: 500;
    font-weight: var(--fw-light);
  }
  .footer--main .heading,
  .footer--main form {
    --body-color: var(--white);
    color: hsl(var(--body-color)/1);
  }
  .footer--main {
    z-index: 1;
    padding-block: calc(var(--gap) * 1) calc(var(--gap) * 0.5);
    background: radial-gradient(50% 100% at 50% 100%, hsl(var(--white)/0.1) 0%, hsl(var(--white)/0) 100%), url("../images/bgrnd-dark.jpg");
    background-size: cover;
    color: hsl(var(--body-color)/1);
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.5);
    align-items: center;
  }
  .footer .btn-link,
  .footer .nav-item {
    --link-fw: var(--fw-regular);
    font-size: 0.875rem;
    --link-hover-color: var(--primary-400);
  }
  .footer .btn-link [data-icon],
  .footer .nav-item [data-icon] {
    font-size: 1.25em;
  }
  .footer .btn-link [data-icon] {
    font-size: 1.5em;
  }
  .footer .btn-group {
    margin-block-start: calc(var(--gap) * 1);
    display: flex;
    flex-flow: row wrap;
    -moz-column-gap: calc(var(--gap) * 1.5);
         column-gap: calc(var(--gap) * 1.5);
    row-gap: calc(var(--gap) * 1);
  }
  .footer .btn-group img {
    height: 2.25rem;
  }
  .footer p {
    font-size: clamp(0.75rem, 1vw, 0.875rem);
    margin-block: 0;
  }
  .footer-row {
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: space-between;
    gap: calc(var(--gap) * 2);
    padding-block: calc(var(--gap) * 0.5);
  }
  @media (min-width: 48rem) {
    .footer-row {
      flex-flow: row nowrap;
    }
  }
  .footer-row-content > * {
    width: 100%;
  }
  @media (min-width: 36rem) {
    .footer-row-content {
      display: grid;
      align-items: flex-start;
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @media (min-width: 64rem) {
    .footer-row-content {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  .footer-row:not(:last-child):not(:first-child) {
    border-top: 1px solid hsl(var(--body-color)/0.15);
    border-bottom: 1px solid hsl(var(--body-color)/0.15);
  }
  .footer-col {
    display: flex;
    flex-flow: column nowrap;
    gap: 0.5em;
  }
  .footer-col--site {
    grid-column: span 2;
  }
  .footer address {
    font-size: 0.875rem;
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.5);
  }
  .footer small {
    font-size: 0.75rem;
  }
  .footer .site-title {
    color: hsl(var(--white)/1);
    margin-block-end: calc(var(--gap) * 0.5);
    display: flex;
    flex-flow: column nowrap;
    gap: 0.25em;
  }
  .footer .site-title small {
    font-size: 0.875rem;
  }
  .footer .site-logo {
    width: 18.5rem;
    height: auto;
    fill: var(--white);
    max-width: 100%;
  }
  .section {
    width: 100%;
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--content-gap) * 1.5);
  }
  main > .section {
    padding-block-end: calc(var(--content-gap) * 1);
  }
  @media (width < 36rem) {
    main > .section {
      padding-block-end: calc(var(--content-gap) * 1);
    }
  }
  @media (width > 64rem) {
    main > .section {
      padding-block-end: calc(var(--content-gap) * 2);
    }
  }
  @media (width < 36rem) {
    .section {
      gap: calc(var(--content-gap) * 1);
    }
  }
  @media (width > 64rem) {
    .section {
      row-gap: calc(var(--content-gap) * 2);
    }
  }
  .section-header {
    border-top: 1px solid var(--border-color);
    border-bottom: 1px solid var(--border-color);
  }
  .section-header nav:not(:first-child) {
    padding-block: calc(var(--gap) * 0.5);
    border-top: 1px solid var(--border-color);
  }
  .section-heading {
    margin-block: calc(var(--gap) * 1);
  }
  body > .section {
    padding-block: calc(var(--content-gap) * 1);
  }
  .section-category {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--content-gap) * 0.75);
  }
  .section-category + .section-category {
    margin-top: var(--content-gap);
  }
  .section-content {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--content-gap));
  }
  .section-content:only-child {
    width: 100%;
    max-width: calc(var(--content-max) - (var(--wrapper-gap) + 18.75rem) * 2);
    margin-inline: auto;
  }
  .section--article {
    --section-gap: calc(var(--gap) * 1);
    --prose-max: 68ch;
    --grid-gap: 1.5em;
  }
  .wrapper:has(> aside),
  .grid--aside {
    --wrapper-gap: calc(var(--content-gap) * 1);
    --wrapper-margin: max(var(--wrapper-gap), 50cqw - var(--content-max) / 2);
    display: grid;
    margin-inline: var(--wrapper-margin);
    gap: calc(var(--wrapper-gap) * 1);
    row-gap: calc(var(--wrapper-gap) * 2);
  }
  .wrapper:has(> aside):has(> aside:only-of-type),
  .grid--aside:has(> aside:only-of-type) {
    grid-template-areas: "content" "aside";
  }
  .wrapper:has(> aside):has(> aside:only-of-type) > *,
  .grid--aside:has(> aside:only-of-type) > * {
    grid-area: content;
    max-width: calc(100cqw - var(--wrapper-margin) * 2);
  }
  @media (width > 64rem) {
    .wrapper:has(> aside):has(> aside:only-of-type) > *,
    .grid--aside:has(> aside:only-of-type) > * {
      max-width: calc(100cqw - (var(--wrapper-gap) + var(--wrapper-margin) * 2) - 300px);
    }
  }
  .wrapper:has(> aside):has(> aside:only-of-type) > *:is(aside),
  .grid--aside:has(> aside:only-of-type) > *:is(aside) {
    grid-area: aside;
  }
  @media (width > 80rem) {
    .wrapper:has(> aside):has(> aside:only-of-type),
    .grid--aside:has(> aside:only-of-type) {
      grid-template-columns: 5fr minmax(300px, 1fr);
      grid-template-areas: "content aside";
    }
  }
  @media (64rem < width < 80rem) {
    .wrapper:has(> aside):has(> aside:only-of-type),
    .grid--aside:has(> aside:only-of-type) {
      grid-template-columns: 5fr minmax(300px, 1fr);
      grid-template-areas: "content aside";
    }
  }
  @media (width > 48rem) {
    .wrapper:has(> aside),
    .grid--aside {
      --wrapper-gap: calc(var(--content-gap) * 1);
    }
  }
  @container (width > 80rem) {
    .wrapper:has(> aside),
    .grid--aside {
      --wrapper-gap: calc(var(--content-gap) * 2);
    }
  }
  .wrapper:has(> aside):has(> aside:first-child:only-of-type),
  .grid--aside:has(> aside:first-child:only-of-type) {
    grid-template-areas: "aside" "content";
  }
  @media (width > 80rem) {
    .wrapper:has(> aside):has(> aside:first-child:only-of-type),
    .grid--aside:has(> aside:first-child:only-of-type) {
      grid-template-columns: minmax(300px, 1fr) 5fr minmax(300px, 1fr);
      grid-template-areas: "aside content spacer";
    }
  }
  @media (64rem < width < 80rem) {
    .wrapper:has(> aside):has(> aside:first-child:only-of-type),
    .grid--aside:has(> aside:first-child:only-of-type) {
      grid-template-columns: minmax(300px, 1fr) 5fr;
      grid-template-areas: "aside content";
    }
  }
  .wrapper:has(> aside):has(> aside ~ aside),
  .grid--aside:has(> aside ~ aside) {
    grid-template-areas: unset;
  }
  .wrapper:has(> aside):has(> aside ~ aside) aside:not(.order--top),
  .grid--aside:has(> aside ~ aside) aside:not(.order--top) {
    order: 2;
  }
  .wrapper:has(> aside):has(> aside ~ aside) aside.order--top,
  .grid--aside:has(> aside ~ aside) aside.order--top {
    order: -1;
  }
  @media (64rem < width < 80rem) {
    .wrapper:has(> aside):has(> aside ~ aside),
    .grid--aside:has(> aside ~ aside) {
      grid-template-columns: 5fr [last-start] minmax(300px, 1fr) [last-end];
    }
    .wrapper:has(> aside):has(> aside ~ aside) :not(aside),
    .grid--aside:has(> aside ~ aside) :not(aside) {
      grid-column: 1;
    }
    .wrapper:has(> aside):has(> aside ~ aside) aside,
    .grid--aside:has(> aside ~ aside) aside {
      grid-column: last;
    }
    .wrapper:has(> aside):has(> aside ~ aside) aside:first-of-type:not(:only-of-type),
    .grid--aside:has(> aside ~ aside) aside:first-of-type:not(:only-of-type) {
      grid-column: 1;
      grid-row: 2;
    }
    .wrapper:has(> aside):has(> aside ~ aside) aside:first-of-type:not(:only-of-type).order--top,
    .grid--aside:has(> aside ~ aside) aside:first-of-type:not(:only-of-type).order--top {
      grid-row: 1;
    }
    .wrapper:has(> aside):has(> aside ~ aside) aside ~ aside,
    .grid--aside:has(> aside ~ aside) aside ~ aside {
      grid-column: last;
      grid-row: 1/span 2;
    }
  }
  @media (width >= 80rem) {
    .wrapper:has(> aside):has(> aside ~ aside),
    .grid--aside:has(> aside ~ aside) {
      grid-template-columns: minmax(240px, 1fr) 5fr minmax(300px, 1fr);
      grid-template-areas: "first content last";
    }
    .wrapper:has(> aside):has(> aside ~ aside) > *,
    .grid--aside:has(> aside ~ aside) > * {
      grid-area: content;
    }
    .wrapper:has(> aside):has(> aside ~ aside) > aside,
    .grid--aside:has(> aside ~ aside) > aside {
      order: initial;
      grid-area: first;
    }
    .wrapper:has(> aside):has(> aside ~ aside) > aside ~ aside,
    .grid--aside:has(> aside ~ aside) > aside ~ aside {
      grid-area: last;
    }
  }
  .wrapper:has(> aside) > aside,
  .grid--aside > aside {
    display: flex;
    flex-flow: column nowrap;
    row-gap: var(--content-gap);
  }
	@media (width < 64rem) {
	  .wrapper:has(> aside) > aside,
	  .grid--aside > aside {
		row-gap: calc(var(--content-gap) * 1.5);
	  }
	}
  .has--sticky {
    display: flex;
    flex-flow: column nowrap;
    align-items: flex-start;
    height: 100%;
  }
  @media (width > 48rem) {
    .has--sticky > * {
      top: calc(var(--header-height--sticky) + var(--gap));
      position: sticky;
    }
  }
  .aside-wrapper {
    height: clamp(100%, 100vw, 40rem);
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    gap: var(--gap);
  }
  .aside-wrapper + .aside-wrapper {
    margin-block-start: var(--gap);
  }
  @container (width < 64rem) {
    .aside-wrapper {
      height: auto;
    }
  }
}
@layer components {
  .ad-wrapper {
    flex: 1;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
  }
  aside .ad-wrapper {
    flex: 0 0 auto;
    position: sticky;
    top: calc(var(--header-height--sticky) + var(--gap));
  }
  aside .ad-wrapper:not(:first-child) {
    margin-block-start: var(--content-gap);
  }
  .ad-wrapper .ad {
    display: flex;
    flex-direction: column;
  }
  .form {
    --form-gap: var(--gap);
    --form-spacing-x: calc(var(--gap) * 1);
    --form-spacing-y: calc(var(--gap) * .5);
  }
  .form label {
    display: flex;
    font-size: 0.875em;
    margin-block-end: 0.25em;
    letter-spacing: 0.05em;
  }
  .form input[type=checkbox], .form input[type=radio] {
    --input-color: var(--body-color);
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    margin: 0;
    font: inherit;
    color: currentColor;
    accent-color: hsl(var(--primary)/1);
    width: 1em;
    height: 1em;
    border: 1px solid hsl(var(--input-color)/0.125);
    background-color: hsl(var(--input-color)/0.075);
  }
  .form input[type=checkbox]:checked, .form input[type=radio]:checked {
    --input-color: var(--primary);
    color: hsl(var(--input-color)/1);
    border-color: hsl(var(--input-color)/1);
    background-color: hsl(var(--input-color)/1);
  }
  .form input[type=radio] {
    border-radius: 50%;
  }
  .form input[type=text] {
    padding: 0.375em 0.5em;
    color: hsl(var(--body-color)/1);
    border: 1px solid hsl(var(--input-color)/0.5);
    background-color: hsl(var(--input-color)/0.125);
    transition: background-color 0.2s ease-in-out;
    font-weight: 400;
  }
  .form input[type=text]:is(:-moz-placeholder) {
    font-weight: 100;
  }
  .form input[type=text]:is(:placeholder-shown) {
    font-weight: 100;
  }
  .form input[type=text]:is(:active, :hover, :focus, :focus-visible) {
    color: hsl(var(--blue-black)/1);
    background-color: hsl(var(--body-light)/1);
  }
  .form input[type=text]:is(:valid) {
    color: hsl(var(--blue-black)/1);
    background-color: hsl(var(--body-light)/1);
  }
  .form input[type=text]:is(:focus, :focus-visible) {
    background-color: hsl(var(--body-color)/1);
    outline: 0;
  }
  .form--newsletter {
    display: flex;
    flex-flow: column nowrap;
    gap: var(--form-gap);
    margin-block-start: calc(var(--gap) * 0.75);
  }
  @container (width > 32rem) {
    .form--newsletter {
      flex-flow: row nowrap;
    }
  }
  .form--newsletter input {
    padding: var(--form-spacing-y) var(--form-spacing-x);
    background-color: hsl(var(--body-color)/0.075);
    color: hsl(var(--body-color)/1);
    transition: background-color 0.3s ease-in-out;
    line-height: 1;
  }
  .form--newsletter input:hover, .form--newsletter input:focus, .form--newsletter input:focus-visible, .form--newsletter input:active {
    background-color: hsl(var(--body-color)/0.15);
  }
  .form--newsletter .btn {
    cursor: pointer;
    flex: 0 0 auto;
  }
  .form--filters {
    display: grid;
    gap: var(--form-gap);
    width: 100%;
    grid-template-columns: 100%;
    --input-color: var(--body-light);
    color: hsl(var(--input-color)/1);
  }
  @media (width > 48rem) {
    .form--filters:first-child {
      margin-block-start: 0.25em;
    }
  }
  @media (width >= 80rem) {
    .form--filters {
      gap: calc(var(--form-gap) * 1.5);
    }
  }
  .form--filters:has(input:checked) {
    --input-color: var(--body-color);
  }
  .form--filters legend {
    display: flex;
    width: 100%;
    font-size: clamp(0.875em, 3vw, 1em);
    letter-spacing: 0.15em;
    font-weight: var(--fw-light);
    text-transform: uppercase;
    margin-block-end: calc(var(--form-gap) * 0.75);
  }
  .form--filters legend label {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: calc(var(--form-gap) * 0.5);
    flex: 1;
    line-height: 1;
  }
  .form--filters legend label:before {
    order: 1;
    content: "";
    flex: 1;
    background-color: currentColor;
    height: 1px;
    width: 100%;
  }
  .form--filters legend label:after {
    font-weight: var(--fw-thin);
    order: 2;
    line-height: 0.66;
  }
  .form--filters legend > input {
    display: none;
  }
  @media (width <= 80rem) {
    .form--filters legend {
      color: hsl(var(--body-light)/1);
    }
    .form--filters legend label:after {
      content: "+";
      margin-left: auto;
      scale: 1.5;
    }
    .form--filters legend:has(:checked) {
      color: hsl(var(--body-color)/1);
      font-weight: var(--fw-medium);
    }
    .form--filters legend:has(:checked) label:after {
      content: "-";
    }
    .form--filters legend:has(:not(:checked) + label) ~ * {
      display: none;
    }
  }
  .form--filters hr {
    margin-block: 0;
    padding-block: 0;
    height: 1px;
    border: 1px dashed hsl(var(--body-subtle)/0.25);
  }
  .form--filters fieldset,
  .form--filters .form-field,
  .form--filters .form-group {
    display: grid;
    gap: calc(var(--form-gap) * 0.5);
  }
  .form--filters .form-field,
  .form--filters .form-group {
    display: grid;
    gap: calc(var(--form-gap) * 0.25);
  }
  @media (36rem < width < 48rem) {
    .form--filters .form-group:has(:nth-child(8)) {
      display: block;
      -moz-column-count: 2;
           column-count: 2;
      -moz-column-gap: var(--gap);
           column-gap: var(--gap);
      list-style-position: inside;
    }
  }
  .form--filters label {
    display: flex;
    align-items: center;
    gap: calc(var(--form-gap) * 0.5);
  }
  .form--filters label:not(:only-of-type) {
    font-weight: var(--fw-light);
    color: hsl(var(--body-color)/0.5);
  }
  .form--filters label:has(input:checked) {
    font-weight: var(--fw-medium);
    color: hsl(var(--body-color)/1);
  }
  .form--filters label:has(input:disabled) {
    --input-color: var(--body-subtle);
    color: hsl(var(--body-subtle)/1);
    opacity: 0.75;
  }
	.form--filters footer {
        display: grid;
        gap: var(--gap);
	}
  .select--custom {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
  }
  @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)) {
    .select--custom, .select--custom::picker(select) {
      -webkit-appearance: base-select;
         -moz-appearance: base-select;
              appearance: base-select;
    }
  }
  .select--custom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    min-width: 10rem;
    width: 100%;
    font-size: 0.875em;
    font-weight: var(--fw-medium);
    border: 1px solid hsl(var(--gray-200)/1);
    padding-block: calc(var(--gap) * 0.5);
    padding-inline: calc(var(--gap) * 0.75) calc(var(--gap) * 0.25);
    cursor: pointer;
    background: hsl(var(--body-subtle)/1) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23000' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E%0A") right 10px center/20px no-repeat;
  }
  .select--custom:-moz-placeholder {
    color: hsl(var(--body-subtle)/1);
  }
  .select--custom:placeholder-shown {
    color: hsl(var(--body-subtle)/1);
  }
  .select--custom:hover, .select--custom:has(:focus-within) {
    background-color: hsl(var(--body-bg)/1);
    box-shadow: var(--shadow-form);
  }
  @supports ((-webkit-appearance: base-select) or (-moz-appearance: base-select) or (appearance: base-select)) {
    .select--custom {
      background-image: none;
    }
    .select--custom::picker-icon {
      content: "";
      width: 1.25em;
      height: 1.25em;
      background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke-width='1.5' stroke='%23000' class='size-6'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m19.5 8.25-7.5 7.5-7.5-7.5' /%3E%3C/svg%3E%0A");
      transition: rotate 0.2s ease-out;
    }
    .select--custom:open::picker-icon {
      rotate: 180deg;
    }
    .select--custom::picker(select) {
      padding: 0;
      border: 1px solid var(--border-color);
      background: hsl(var(--body-subtle)/1);
      box-shadow: var(--shadow-form-active);
      opacity: 0;
      height: 0;
      overflow: clip;
      transition: height 0.5s ease-out, opacity 0.5s ease-out, overlay 0.5s, display 0.5s;
      transition-behavior: allow-discrete;
    }
    .select--custom:open::picker(select) {
      opacity: 1;
      height: calc-size(auto, size);
      overflow: auto;
    }
    @starting-style {
      .select--custom:open::picker(select) {
        opacity: 0;
        height: 0;
      }
    }
    .select--custom:not(:open):has(option:first-child:checked:disabled), .select--custom:open:has(option:first-child:checked:disabled), .select--custom:open:has(option:first-child:checked:disabled) option:first-child {
      color: hsl(var(--body-light)/1);
      font-weight: var(--fw-light);
      background-color: transparent;
    }
    .select--custom:open:has(option:first-child:checked:disabled) option {
      font-weight: var(--fw-medium);
    }
    .select--custom option {
      display: flex;
      align-items: center;
      padding: 0.25em 0.75em;
      gap: 0.75em;
      border-top: 1px solid var(--border-color);
      cursor: pointer;
      transition-property: color, background;
      transition-duration: 0.2s;
      transition-timing-function: ease-out;
      color: hsl(var(--body-color)/1);
    }
    .select--custom option:checked {
      background: hsl(var(--body-bg)/1);
    }
    .select--custom option::checkmark {
      display: none;
    }
    .select--custom option:first-child {
      border: 0;
    }
    .select--custom selectedcontent {
      display: flex;
      align-items: center;
      gap: 0.5em;
    }
  }
  details {
    --calculated-details-padding: var(--details-padding, 1em);
    --details-bg: var(--body-color);
    --details-color: var(--body-bg);
    transition: height var(--details-transition-speed, 150ms) linear;
    height: calc(1lh + var(--calculated-details-padding) * 2);
    padding: var(--calculated-details-padding);
    background: hsl(var(--details-bg, red));
    color: hsl(var(--details-color, black));
  }
  details:open, details[open] {
    height: auto;
    overflow: clip;
  }
  .search-form {
    --search-padding: calc(var(--gap) * .75);
    display: flex;
    flex-flow: row nowrap;
    justify-content: center;
    align-items: center;
    padding-inline: var(--search-padding);
    width: 100%;
    border: 1px solid hsl(var(--gray)/0.25);
    background-color: hsl(var(--gray-100)/1);
    transition: background-color, box-shadow 0.2s ease-in-out;
    box-shadow: var(--shadow-form);
  }
  aside .search-form {
    font-size: 0.875em;
  }
  .search-form:hover, .search-form:has(:focus-within) {
    background-color: hsl(var(--body-bg)/1);
    box-shadow: var(--shadow-form-active);
  }
  .search-form [data-icon] {
    font-size: clamp(1.125em, 3vw, 1.375em);
  }
  .search-form:has([type=search]) {
    --border-color: hsl(var(--body-subtle) / .5);
    border-radius: calc(var(--search-padding) * 2);
  }
  .header-overlay .search-form:has([type=search]) {
    margin: var(--search-padding) auto;
  }
  .search-form:has([type=search]) label:has([data-icon]) {
    width: auto;
    display: flex;
  }
  .search-form:has([type=search]) label:has([data-icon]) span {
    display: none;
  }
  .search-form:has([type=search]:not(:-moz-placeholder)) {
    background-color: #FFFEF5;
  }
  .search-form:has([type=search]:not(:placeholder-shown)) {
    background-color: #FFFEF5;
  }
  .search-form:has(input:hover, input:focus-visible) {
    --border-color: hsl(var(--body-color) / 1);
  }
  .search-form:has(input:-webkit-autofill, input:-webkit-autofill) {
    border-color: transparent;
  }
  .search-form:has(input:-webkit-autofill, input:autofill) {
    border-color: transparent;
  }
  .search-form:has(input:disabled) {
    border-color: hsl(var(--body-subtle)/0.125);
  }
  .search-input {
    width: 100%;
    padding: calc(var(--search-padding) * 0.5) var(--search-padding);
    font-size: 1rem;
    border: none;
    background-color: transparent;
  }
  main .search-input {
    display: block;
    padding-inline-end: 0;
  }
  .search-input::-moz-placeholder {
    font-weight: 300;
  }
  .search-input::placeholder {
    font-weight: 300;
  }
  .search-input:focus-visible {
    outline: none;
  }
  .search-input:is(:-webkit-autofill, :-webkit-autofill) {
    padding-inline-start: 0.75em;
    border-color: transparent;
    -webkit-text-fill-color: hsl(var(--body-color)/1);
    -webkit-box-shadow: 0 0 0 2em hsl(var(--blue-subtle)/1) inset !important;
  }
  .search-input:is(:-webkit-autofill, :autofill) {
    padding-inline-start: 0.75em;
    border-color: transparent;
    -webkit-text-fill-color: hsl(var(--body-color)/1);
    -webkit-box-shadow: 0 0 0 2em hsl(var(--blue-subtle)/1) inset !important;
  }
  .search-input:disabled {
    color: hsl(var(--body-subtle)/0.75);
    background-color: hsl(var(--blue-dark)/0.125);
    border-color: hsl(var(--body-subtle)/0.125);
    cursor: not-allowed;
    pointer-events: none;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M16.6 18L10.3 11.7C9.8 12.1 9.225 12.4167 8.575 12.65C7.925 12.8833 7.23333 13 6.5 13C4.68333 13 3.14583 12.3708 1.8875 11.1125C0.629167 9.85417 0 8.31667 0 6.5C0 4.68333 0.629167 3.14583 1.8875 1.8875C3.14583 0.629167 4.68333 0 6.5 0C8.31667 0 9.85417 0.629167 11.1125 1.8875C12.3708 3.14583 13 4.68333 13 6.5C13 7.23333 12.8833 7.925 12.65 8.575C12.4167 9.225 12.1 9.8 11.7 10.3L18 16.6L16.6 18ZM6.5 11C7.75 11 8.8125 10.5625 9.6875 9.6875C10.5625 8.8125 11 7.75 11 6.5C11 5.25 10.5625 4.1875 9.6875 3.3125C8.8125 2.4375 7.75 2 6.5 2C5.25 2 4.1875 2.4375 3.3125 3.3125C2.4375 4.1875 2 5.25 2 6.5C2 7.75 2.4375 8.8125 3.3125 9.6875C4.1875 10.5625 5.25 11 6.5 11Z' fill='hsl(205 16% 48% /.5)'/%3E%3C/svg%3E%0A");
  }
  .search-input::-webkit-search-cancel-button {
    -webkit-appearance: none;
    height: 1em;
    width: 1em;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 18 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1.8 18L0 16.2L7.2 9L0 1.8L1.8 0L9 7.2L16.2 0L18 1.8L10.8 9L18 16.2L16.2 18L9 10.8L1.8 18Z' fill='hsl(205 25% 75% /1)'/%3E%3C/svg%3E%0A");
    pointer-events: none;
    background-repeat: no-repeat;
    background-position: right center;
  }
  .search-input:focus::-webkit-search-cancel-button {
    opacity: 0.3;
    pointer-events: all;
  }
  .search-btn {
    --btn-color: currentColor;
    --btn-background: transparent;
    --btn-border: transparent;
    display: flex;
    flex-flow: row nowrap;
    gap: 0.5rem;
  }
  .search-overlay .search-btn {
    padding-inline: 0.5em 0;
    padding-block: 0.65em;
    line-height: 3;
  }
  .search-overlay .search-btn span {
    display: none;
  }
  .search-input + .search-btn {
    padding-inline: 0.5em 0;
    padding-block: 0.65em;
    line-height: 3;
  }
  .search-input + .search-btn span {
    display: none;
  }
  .search-btn .icon {
    opacity: 0.5;
    display: flex;
  }
  .search-btn:hover, .search-btn:focus, .search-btn:focus-visible {
    background-color: hsl(var(--body-color)/0);
  }
  .search-btn:hover .icon, .search-btn:focus .icon, .search-btn:focus-visible .icon {
    opacity: 1;
  }
  .search-aside {
    display: grid;
    gap: var(--content-gap);
    width: 100%;
  }
  .menu .search-wrapper {
    position: sticky;
    top: 0;
    z-index: 2;
  }
  .menu .wrapper {
    gap: calc(var(--gap) * 0.25);
  }
  .menu-container {
    padding-block: calc(var(--gap) * 1.5);
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: var(--gap);
    row-gap: calc(var(--gap) * 2);
    width: 100%;
  }
  .menu-container .heading {
    font-size: clamp(1em, 2vw, 1.125em);
    color: hsl(var(--body-color)/1);
  }
  .menu-list {
    list-style: none;
  }
  .menu-list ul {
    list-style: none;
    padding-left: 1.125em;
  }
  @media (min-width: 48rem) {
    .menu-list:has(ul > :nth-child(8)) {
      grid-column: span 2;
    }
    .menu-list:has(ul > :nth-child(8)) ul {
      -moz-column-count: 2;
           column-count: 2;
      -moz-column-gap: var(--gap);
           column-gap: var(--gap);
      list-style-position: inside;
    }
  }
  .menu-list--footer {
    display: flex;
    flex-flow: row wrap;
    gap: calc(var(--gap) * 0.5);
    font-weight: var(--fw-regular);
  }
  .menu-title {
    margin-block-end: calc(var(--gap) * 0.75);
  }
  .menu-link {
    display: flex;
    padding: 0.25em 0;
    line-height: 1.2;
    font-size: 0.875em;
    color: hsl(var(--link-color)/1);
  }
  .menu-link span {
    display: flex;
  }
  .menu-link:hover, .menu-link:focus, .menu-link:focus-visible {
    color: hsl(var(--primary)/1);
    text-decoration: underline;
  }
  .menu-link--footer {
    padding: 0;
    line-height: 1;
    font-weight: var(--fw-regular);
    white-space: nowrap;
  }
  .menu footer {
    margin-block: calc(var(--gap) * 2) var(--gap);
    display: flex;
    flex-flow: row wrap;
    gap: calc(var(--gap) * 1);
    justify-content: space-between;
  }
  .component {
    container-type: inline-size;
    width: 100%;
    position: relative;
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--content-gap) * 0.75);
  }
  .component .content {
    position: relative;
    z-index: 2;
  }
  .component.has--bg {
    padding: calc(var(--gap) * 1.5) var(--gap);
    background: linear-gradient(to bottom, hsl(var(--body-light)/0.1), hsl(var(--gray-200)/0) max(5em, 20%)) no-repeat;
    box-shadow: inset 0 0.25em 0.5em hsl(var(--body-color)/0.05);
  }
	aside > .component.has--bg {
    	padding-block-start: var(--gap);
	}
	
  .component.has--bg:after {
    content: "";
    position: absolute;
    height: 5em;
    left: 0;
    right: 0;
    bottom: 0;
    background: linear-gradient(to top, hsl(var(--white)/1), hsl(var(--white)/0));
  }
  .component--custom {
    padding-block: calc(var(--content-gap) * 1);
    background: radial-gradient(100% 100% at 50% 100%, hsl(var(--body-bg)/0.5) 0%, hsl(var(--body-bg)/0) 100%), var(--custom-bg);
    color: hsl(var(--body-color)/1);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
  }
  .component--custom .wrapper {
    z-index: 2;
  }
  .component--custom:before, .component--custom:after {
    content: "";
    position: absolute;
    z-index: 1;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  .component--custom:before {
    background: radial-gradient(50% 100% at 50% 100%, hsl(var(--body-bg)/0.75) 0%, hsl(var(--body-bg)/0.25) 100%);
    mix-blend-mode: overlay;
  }
  .component--custom:after {
    z-index: -1;
    background-color: hsl(var(--custom-bg-color, var(--body-bg))/1);
  }
  .weather {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    gap: calc(var(--gap) * 0.25);
  }
  .cover {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 1);
  }
  .header .cover {
    flex-flow: row nowrap;
  }
  .cover small {
    font-size: 0.75em;
  }
  .cover-img {
    box-shadow: var(--shadow-img);
    margin-inline: auto;
  }
  .header .cover-img {
    max-height: 4rem;
    margin-inline: 0;
    width: auto;
  }
  .cover-title {
    display: block;
    font-weight: var(--headings-fw);
    line-height: 1.1;
    font-size: 1.125em;
    margin-block: 0.75em 0;
    color: hsl(var(--primary)/1);
    text-align: center;
  }
  .header .cover-title {
    font-size: 0.875em;
    margin-block: 0;
    max-width: 24ch;
    text-align: start;
  }
  .section--frontpage .cover {
    padding: 0.5em;
    border-radius: var(--border-radius);
  }
  .cover .content {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.5);
  }
  aside .cover .content {
    gap: var(--gap);
    text-align: center;
  }
  aside .cover .heading a:after {
	  display: none;
  }
  .cover .btn-group {
    display: flex;
    flex-flow: row wrap;
    gap: calc(var(--gap) * 0.75);
  }
  aside .cover .btn-group {
    justify-content: center;
  }
  .cover .btn-group img {
    height: 40px;
  }
  aside .cover {
    max-width: 18.75em;
    margin-inline: auto;
  }
  .pagination {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: calc(var(--gap) * 0.75);
    font-weight: var(--fw-thin);
    font-size: 1.125em;
  }
  .pagination:before {
    content: "";
    height: 1px;
    background-color: currentColor;
    flex: 1;
    order: 1;
  }
  .pagination > *:last-child:not(:only-child) {
    order: 2;
  }
  .pagination-nav {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: calc(var(--gap) * 0.5);
  }
  .pagination-nav > * {
    display: flex;
    line-height: 1;
    padding: 0.25em 0.375em;
    margin: -0.25em;
  }
  .pagination-nav [aria-current] {
    font-weight: var(--fw-bold);
  }
	  .pagination-nav a {
    text-align: center;
    line-height: 1;
  }
  .pagination-nav a:has(svg) {
    width: 1.5em;
    height: 1.5em;
    text-align: center;
    display: flex;
    align-items: center;
    font-size: 1.125em;
    border-radius: 50%;
  }
  .pagination-nav a:has(svg):hover, .pagination-nav a:has(svg):focus, .pagination-nav a:has(svg):focus-visible {
    text-decoration: none;
    background-color: hsl(var(--body-color)/0.05);
  }
  .pagination-nav a:has(svg) svg {
    margin-inline: auto;
  }
  .pagination-nav a:has([data-icon*=caret-left]) {
    padding-inline: 0.3em 0.45em;
  }
  .pagination-nav a:has([data-icon*=caret-right]) {
    padding-inline: 0.45em 0.3em;
  }
  .pagination-nav a:hover, .pagination-nav a:focus, .pagination-nav a:focus-visible {
    text-decoration: underline;
    color: hsl(var(--primary)/1);
  }
  .pagination-nav a[aria-disabled=true] {
    pointer-events: none;
    opacity: 0.25;
  }
  .breadcrumb ol {
    list-style: none;
    display: flex;
    flex-flow: row wrap;
    align-items: center;
    -moz-column-gap: calc(var(--gap) * 0.25);
         column-gap: calc(var(--gap) * 0.25);
    border-top: none;
  }
.breadcrumb ol:has(h1, h2, .h1, .h2) {
    padding-block: 0.75em;
  }
  .breadcrumb li {
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: calc(var(--gap) * 0.25);
    font-weight: var(--fw-medium);
  }
  .breadcrumb li:not(:last-child) .heading:after {
    content: "";
    scale: 0.75;
    color: hsl(var(--body-color)/0.25);
    font-weight: var(--fw-light);
    width: 0.5em;
    height: 1em;
    margin-block-end: -0.075em;
    margin-inline-start: 0.125em;
    background-color: currentColor;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath d='M0.530273 0.530334L8.53027 8.53033L0.530273 16.5303' stroke='black' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
            mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 18'%3E%3Cpath d='M0.530273 0.530334L8.53027 8.53033L0.530273 16.5303' stroke='black' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
  }
  .breadcrumb [aria-current] {
    font-weight: var(--fw-light);
  }
  .breadcrumb [aria-current]:has(.h1), .breadcrumb [aria-current]:has(.h2) {
    font-weight: var(--fw-medium);
  }
  .breadcrumb nav {
    border-top: none;
  }
  .breadcrumb .heading {
    margin-block: 0;
    font-weight: inherit;
    font-size: 1em;
  }
  .breadcrumb .heading-sub {
    font-weight: var(--fw-light);
  }
  .section-header .breadcrumb .heading {
    margin-block: 0.5rem;
  }
  .breadcrumb .heading:is(.h1), .breadcrumb .heading:is(.h2) {
    font-size: 2em;
  }
  .breadcrumb .heading:is(.h1):is(.heading-sub), .breadcrumb .heading:is(.h2):is(.heading-sub) {
    font-weight: var(--fw-thin);
  }
  .section-header .breadcrumb .heading:is(.h1), .section-header .breadcrumb .heading:is(.h2) {
    margin-block: 0;
  }
  .breadcrumb .heading a, .breadcrumb .heading a:hover, .breadcrumb .heading a:focus, .breadcrumb .heading a:focus-visible {
    text-decoration: none;
  }
  .tag-item a {
    padding: calc(var(--gap) * 0.575) calc(var(--gap) * 0.75);
    background-color: hsl(var(--subtle-bg)/1);
    border-radius: 1.5em;
    font-size: 0.875em;
    font-weight: var(--fw-regular);
    line-height: 1;
    display: flex;
    flex-flow: row nowrap;
    align-items: center;
    gap: calc(var(--gap) * 0.125);
  }
  .tag-item a:before {
    color: hsl(var(--light)/1);
  }
  .tag-item a:hover, .tag-item a:focus, .tag-item a:focus-visible {
    background-color: hsl(var(--body-color)/1);
    color: hsl(var(--body-bg)/1);
    -webkit-text-decoration: underline 0.125em;
            text-decoration: underline 0.125em;
    text-decoration: none;
  }
  .lightbox {
    border: none;
    background: transparent;
    color: hsl(var(--body-bg)/1);
    display: flex;
    flex-flow: column nowrap;
	  padding: 0;
  }
	.lightbox:not([open]) {
		pointer-events: none;
	  	z-index: -1;
		display: none;
	}
  .lightbox::backdrop {
    background-color: hsl(var(--body-color)/0.5);
    backdrop-filter: blur(12px);
  }
  .lightbox .btn-link:not(:hover) {
    color: currentColor;
  }
	.lightbox > .group {
      padding-block:calc(var(--gap) * 2) calc(var(--gap) * .5);
	}
	@media (width > 48rem) {
    .lightbox > .group {
      padding-inline: calc(var(--gap) * 2);
    }
  }
  .lb-container {
    display: flex;
    align-items: center;
      padding-block:calc(var(--gap) * .5) calc(var(--gap) * 2);
  }
	@media (width > 48rem) {
    .lb-container {
      padding-inline: calc(var(--gap) * 2);
    }
  }
  .lb-container img {
    box-shadow: var(--shadow-lb);
  }
  .lb-display {
    max-height: 85vh;
    max-width: 80vw;
    -o-object-fit: contain;
       object-fit: contain;
    transition: opacity 0.2s ease-in-out, transform 0.2s ease-in-out;
  }
  .lb-media {
    cursor: pointer;
    transition: opacity 0.2s;
  }
  .lb-media:hover, .lb-media:focus, .lb-media:focus-visible {
    opacity: 0.9;
  }
  dialog {
    opacity: 0;
    transform: scale(0.9);
    transition: opacity 0.4s ease, transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), display 0.4s allow-discrete;
  }
  dialog[open] {
    opacity: 1;
    transform: scale(1);
  }
  dialog[open]::backdrop {
    background-color: hsl(var(--body-color)/0.5);
    backdrop-filter: blur(12px);
  }
  dialog::backdrop {
    background-color: hsl(var(--body-color)/1);
    backdrop-filter: blur(0px);
    transition: background 0.4s ease, backdrop-filter 0.4s ease, display 0.4s allow-discrete;
  }
  dialog.closing {
    opacity: 0;
    transform: scale(0.9);
  }
  dialog.closing::backdrop {
    background: rgba(0, 0, 0, 0);
    backdrop-filter: blur(0px);
  }
  @starting-style {
    dialog[open] {
      opacity: 0;
      transform: scale(0.9);
    }
  }
  @starting-style {
    dialog[open]::backdrop {
      background: rgba(0, 0, 0, 0);
      backdrop-filter: blur(0px);
    }
  }
  .switching {
    opacity: 0;
    transform: scale(0.98);
  }
  .ticker {
    display: flex;
    align-items: center;
    flex-flow: row nowrap;
    gap: 1em;
    z-index: 3;
    max-height: 2.5em;
    padding: calc(var(--gap) * 0.75) var(--gap);
    font-size: clamp(0.875rem, 0.125rem + 1.5625vw, 1.125rem);
    background: linear-gradient(90deg, hsl(var(--red-700)/1), hsl(var(--red-500)/1), hsl(var(--red-700)/1), hsl(var(--red-500)/1));
    background-size: 300% 300%;
    animation: slide 3s ease-in-out infinite;
  }
  .ticker [data-icon] {
    font-size: 1.5em;
    color: hsl(var(--body-bg)/1);
  }
  @keyframes slide {
    0% {
      background-position: 0% 50%;
    }
    100% {
      background-position: 100% 50%;
    }
  }
  .bell-group {
    transform-origin: center top;
  }
  .bell-chime {
    transform-origin: 50% 0;
    animation: ring 5s infinite;
  }
  .bell-bell {
    transform-origin: 50% 0;
    animation: ring-reverse 5s infinite;
  }
  .bell-waves {
    transform-origin: 50% 0;
    animation: wave 5s infinite;
  }
  /* Ring animation */
  @keyframes ring {
    0% {
      transform: rotate(0);
    }
    1% {
      transform: rotate(15deg);
    }
    3% {
      transform: rotate(-12deg);
    }
    5% {
      transform: rotate(10deg);
    }
    7% {
      transform: rotate(-8deg);
    }
    9% {
      transform: rotate(6deg);
    }
    11% {
      transform: rotate(-4deg);
    }
    13% {
      transform: rotate(2deg);
    }
    15% {
      transform: rotate(0);
    }
    /* stay still for the rest of the 5s */
    100% {
      transform: rotate(0);
    }
  }
  @keyframes ring-reverse {
    0% {
      transform: rotate(0);
    }
    1% {
      transform: rotate(-15deg);
    }
    3% {
      transform: rotate(12deg);
    }
    5% {
      transform: rotate(-10deg);
    }
    7% {
      transform: rotate(8deg);
    }
    9% {
      transform: rotate(-6deg);
    }
    11% {
      transform: rotate(4deg);
    }
    13% {
      transform: rotate(-2deg);
    }
    15% {
      transform: rotate(0);
    }
    100% {
      transform: rotate(0);
    }
  }
  @keyframes wave {
    0% {
      opacity: 0;
    }
    1% {
      opacity: 0.5;
      transform: rotate(-15deg) scale(0.9);
    }
    3% {
      opacity: 1;
      transform: rotate(12deg) scale(1);
    }
    5% {
      opacity: 0.75;
      transform: rotate(-10deg) scale(0.9);
    }
    7% {
      opacity: 0.5;
      transform: rotate(8deg) scale(1);
    }
    9% {
      opacity: 0.25;
      transform: rotate(-6deg) scale(0.9);
    }
    11% {
      opacity: 0.1;
      transform: rotate(4deg) scale(1);
    }
    13% {
      opacity: 0;
      transform: rotate(-2deg) scale(0.9);
    }
    15% {
      opacity: 0;
      transform: rotate(0) scale(1);
    }
    100% {
      opacity: 0;
      transform: rotate(0) scale(1);
    }
  }
  .skip-to-content {
    position: absolute;
    top: -40px;
    left: 0;
    background: hsl(var(--body-color)/1);
    color: hsl(var(--body-bg)/1);
    padding: 0.5em 1em;
    z-index: 1000;
    text-decoration: none;
    transition: top 0.2s ease;
  }
  .skip-to-content:focus {
    top: 0;
  }
  .skip-to-content:focus-visible {
    outline: 2px solid hsl(var(--body-bg)/1);
  }
}
@layer post {
  .post {
    container-type: inline-size;
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.75);
    flex: 1;
  }
  .post:has(a:hover, a:focus, a:focus-visible) a .img, .post:hover a .img, .post:focus a .img, .post:focus-visible a .img {
    filter: contrast(1.2) saturate(1.1) brightness(0.95);
    scale: 1.1;
  }
  .post a:hover, .post a:focus, .post a:focus-visible {
    text-decoration: underline;
  }
  .post figure {
    overflow: hidden;
    margin: 0;
  }
  .post figure a {
    display: block;
    overflow: hidden;
  }
  .component--custom .post figure {
    border-radius: var(--border-radius);
    box-shadow: var(--shadow-img);
  }
  .post .img {
    width: 100%;
    aspect-ratio: 3/2;
    -o-object-fit: cover;
       object-fit: cover;
    transition: all 0.6s cubic-bezier(0.33, 1, 0.68, 1);
  }
  .post figcaption {
    font-size: 0.75em;
    color: hsl(var(--body-light)/1);
    margin-block-start: 0.5em;
  }
  .post .vignette {
    display: block;
    margin-block-end: 0.25em;
    font-size: 0.75em;
    font-weight: var(--fw-regular);
  }
  .post .content {
    display: flex;
    flex-flow: column nowrap;
  }
  .post .title {
    --title-size: 1.25em;
    --title-size: clamp(1em, 0.7727em + 1.5152cqw, 1.5em);
    margin-block: 0;
    font-size: var(--title-size, 1.25em);
  }
  .post .title:is(h2, .h2) {
    --title-size: clamp(1.25em, 0.9091em + 2.2727cqw, 2em);
    word-break: break-word;
  }
  .post .title:is(h5, .h5) {
    --title-size: clamp(.875em, 4cqw, 1em);
  }
  .post .title:is(h6, .h6) {
    --title-size: .8125em;
    text-wrap: initial;
  }
  .post .desc {
    font-weight: var(--fw-base);
    font-weight: var(--fw-light);
    font-size: 0.875em;
    font-size: clamp(0.75em, 0.375em + 1.0417vw, 0.875em);
    max-width: 48ch;
    margin-block: 0.5em 0;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 5;
    overflow: hidden;
  }
  .post .author {
    display: block;
    margin-block-start: 1em;
    font-size: 0.75em;
    font-size: clamp(0.625em, 0.25em + 1.0417vw, 0.75em);
    font-weight: var(--fw-medium);
  }
  .post .meta {
    margin-block-start: 1em;
    display: flex;
    gap: 0.5em;
    font-size: 0.75em;
    font-weight: var(--fw-light);
  }
  .post .meta > *:not(:first-child):before {
    margin-right: 0.5em;
    color: hsl(var(--subtle));
  }
  .post .category {
    text-transform: uppercase;
    font-weight: var(--fw-regular);
    color: hsl(var(--primary)/1);
  }
  .post .date {
    color: hsl(var(--light)/1);
    font-weight: var(--fw-light);
  }
  .post-grid {
    --grid-gap: calc(var(--gap) * 1.5);
    display: grid;
    gap: var(--grid-gap);
    grid-template-columns: 1fr;
  }
  @container (width > 36rem) {
    .post-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  @container (width > 64rem) {
    .post-grid {
      grid-template-columns: repeat(4, 1fr);
    }
  }
  @container (width > 80rem) {
    .post-grid {
      --grid-gap: calc(var(--gap) * 2);
    }
  }
  @media (width > 36rem) {
    .post-grid--team {
      grid-template-columns: repeat(2, 1fr);
    }
  }
  .post-grid--auto {
    display: flex;
    flex-flow: row nowrap;
  }
  .post-component {
    display: flex;
    flex-flow: column nowrap;
    max-height: max(25rem, 80vh);
  }
  .post-component ul {
    flex: 1 0 0;
    overflow-y: auto;
  }
  aside .post-component ul {
    flex: 1 0 auto;
  }
  .post-group--thumbs {
    border-bottom: 1px solid var(--border-color);
  }
  .post-list:is(ul), .post-list:is(ol) {
    list-style: none;
  }
  .post-list:is(ol) .post {
    flex: 1;
  }
  .post-list:is(ol) {
    list-style: none;
    counter-reset: top-counter;
  }
  .post-list:is(ol) li {
    counter-increment: top-counter;
  }
  .post-list:is(ol) li:has(.post)::after {
    font-family: var(--font-mono);
    font-weight: var(--fw-thin);
    line-height: 0.925;
    content: "0" counter(top-counter);
    font-variant-numeric: tabular-nums;
    text-align: right;
    letter-spacing: -0.06em;
    flex: 0;
    font-size: 2em;
    color: hsl(var(--body-color)/0.2);
    word-break: keep-all;
  }
  .post-list-item {
    --list-gap: .5em;
    display: flex;
    flex-flow: row nowrap;
    gap: var(--list-gap);
  }
  .post-list-item:not(:last-child) {
    border-bottom: 1px solid var(--border-color);
    padding-bottom: var(--list-gap);
    margin-bottom: var(--list-gap);
  }
  .post-list time {
    padding-top: 0.2em;
    line-height: 1;
    white-space: nowrap;
    color: hsl(var(--primary)/1);
    flex: 0 0 auto;
  }
  .component--latest .post-list time {
    width: 3.5ch;
    font-size: clamp(0.75em, 0.7857em + 0.4464cqw, 0.875em);
  }
  .post-list-btn {
    position: relative;
    display: block;
    z-index: 10;
    margin-inline: auto;
    text-align: center;
    padding: 1em;
    font-size: 0.875em;
    letter-spacing: 0.1em;
    margin-block-end: calc(var(--after-height) * -1);
  }
  .post-list .title {
    --title-size: clamp(0.875em, 0.7857em + 0.4464cqw, 1em);
  }
  .post-list--recent {
    --after-height: 3em;
    --scroll-max-height: 25rem;
  }
  .post-list--newsroom {
    display: flex;
    flex-flow: column nowrap;
    gap: var(--content-gap);
  }
  .post-list--inline .post {
    display: flex;
    flex-flow: row nowrap;
    gap: var(--gap);
  }
  .post-list--inline .post figure {
    --img-size: 12.5rem;
    flex: 0 0 auto;
    width: var(--img-size);
  }
  aside .post-list--inline .post figure {
    --img-size: 4rem;
    height: var(--img-size);
    aspect-ratio: 1/1;
  }
  .post-list--inline .post .img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    aspect-ratio: 1/1;
  }
  .post-list--related {
    width: 100%;
    align-items: flex-start;
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.5);
  }
  .post-list--related:not(:first-child) {
    margin-block-start: calc(var(--gap) * 1);
  }
  .post-list--related .post-list-item {
    padding: 0;
    margin: 0;
    border: none;
    text-align: left;
    width: 100%;
  }
  .post-list--related .post-list-item:before {
    content: "•";
    color: hsl(var(--primary)/1);
    line-height: 1;
  }
  .frontpage .post-list--related {
    margin-block-end: calc(var(--gap) * 0.5);
  }
  .frontpage .post-list--related .title {
	  display: -webkit-box;
	  -webkit-line-clamp: 2;
	  -webkit-box-orient: vertical;
	  overflow: hidden;
  }
  .post-list--related .title {
    font-weight: var(--fw-regular);
  }
.post--slide .post-list--related {
    padding-block-start: calc(var(--grid-gap) * 2);
    max-width: 40ch;
    margin-inline: auto;
  }
  .post--slide {
    --grid-gap: calc(var(--gap) * 1.5);
    height: 100%;
    position: relative;
    background: hsl(var(--gray)/1);
    color: hsl(var(--white)/1);
  }
  .post--slide:before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    height: 100%;
    background: var(--slide-bg);
    background-size: cover;
    background-repeat: no-repeat;
    filter: blur(80px) saturate(0.5) brightness(.8);
  }
  @media (orientation: landscape) {
    .post--slide:before {
      background-size: 100% auto;
    }
  }
  .post--slide > .wrapper {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--grid-gap);
    align-items: center;
    padding-block: var(--grid-gap);
  }
  @media (min-width: 64rem) {
    .post--slide > .wrapper {
      grid-template-columns: 3fr 2fr;
    }
  }
  .post--slide figure {
    aspect-ratio: 16/9;
    box-shadow: 0 0 2.5em 0 hsl(var(--dark)/0.33), 0 0 5em 0 hsl(var(--dark)/0.33);
    border-radius: var(--border-radius);
  }
  .post--slide > .wrapper > .content {
    text-align: center;
    align-items: center;
    padding-block-end: calc(var(--grid-gap) * 2);
    container-type: inline-size;
  }
  .post--slide .title:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    margin-block-end: 0.5em;
    --title-size: clamp(1.25em, 0.7955em + 3.0303cqw, 2em);
  }
  .post--slide .desc {
    opacity: 0.75;
    font-size: 1em;
  }
  .post--thumb {
    display: flex;
    flex-flow: row nowrap;
    padding: calc(var(--gap) * 0.75);
    background: linear-gradient(to top, hsl(var(--gray-200)/0.75), hsl(var(--gray-200)/0) max(5em, 50%)), linear-gradient(to bottom, hsl(var(--subtle-bg)/1)) no-repeat;
    box-shadow: inset 0 0.25em 0.5em hsl(var(--body-color)/0.1);
    cursor: pointer;
  }
  .post--thumb figure {
    --thumb-size: 3em;
    aspect-ratio: 1/1;
    width: var(--thumb-size);
    height: var(--thumb-size);
    display: none;
    box-shadow: var(--shadow-img);
  }
  @media (min-width: 64rem) {
    .post--thumb figure {
      display: flex;
    }
  }
  @media (min-width: 80rem) {
    .post--thumb figure {
      --thumb-size: 3.5em;
    }
  }
  .post--thumb figure video,
  .post--thumb figure img {
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .post--thumb:not(.swiper-slide-thumb-active .post--thumb) {
    color: hsl(var(--light)/1);
    box-shadow: none;
    background: transparent;
  }
  .post--thumb:not(.swiper-slide-thumb-active .post--thumb) figure {
    box-shadow: none;
  }
  .post--thumb:not(.swiper-slide-thumb-active .post--thumb) img {
    filter: grayscale(1);
    opacity: 0.5;
  }
  .post--thumb:not(.swiper-slide-thumb-active .post--thumb):hover, .post--thumb:not(.swiper-slide-thumb-active .post--thumb):focus, .post--thumb:not(.swiper-slide-thumb-active .post--thumb):focus-visible {
    color: hsl(var(--body-color)/1);
  }
  .post--thumb:not(.swiper-slide-thumb-active .post--thumb):hover img, .post--thumb:not(.swiper-slide-thumb-active .post--thumb):focus img, .post--thumb:not(.swiper-slide-thumb-active .post--thumb):focus-visible img {
    filter: grayscale(0);
    opacity: 1;
  }
  .post--thumb .title:is(h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4, .h5, .h6) {
    margin-top: -0.25em;
    font-size: clamp(0.8125em, 0.351rem + 0.7212vw, 0.9375em);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
  }
  .post--thumb .content {
    flex: 1 0 0;
  }
  .post--thumb .vignette {
    font-size: 0.625em;
  }
  .post--carousel .content {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 4;
    overflow: hidden;
  }
  .post--opinion {
    --post-img-size: 5rem;
    display: flex;
    flex-flow: row nowrap;
    gap: 1em;
  }
  .post--opinion figure {
    aspect-ratio: 1/1;
    height: var(--post-img-size);
    width: var(--post-img-size);
    border-radius: var(--post-img-size);
    overflow: hidden;
    flex-shrink: 0;
  }
  .post--opinion figure .img {
    aspect-ratio: 1/1;
  }
  .post--opinion .content {
    container-type: inline-size;
    display: flex;
    flex-flow: column nowrap;
    width: 100%;
  }
  .post--opinion .title {
    --title-size: clamp(1.125em, 1.0179em + 0.5357cqw, 1.5em);
  }
  .post--newsroom {
    align-items: center;
    display: flex;
    flex-flow: row nowrap;
    gap: var(--content-gap);
  }
  @media (width < 36rem) {
    .post--newsroom {
      align-items: flex-start;
      gap: calc(var(--content-gap) * 0.75);
    }
  }
  .post--newsroom figure {
    --img-size: 12.5rem;
    flex: 0 0 auto;
    width: var(--img-size);
  }
  @media (width < 36rem) {
    .post--newsroom figure {
      --img-size: 6rem;
      aspect-ratio: 1/1;
    }
  }
  aside .post--newsroom figure {
    --img-size: 4rem;
    height: var(--img-size);
    aspect-ratio: 1/1;
  }
  .post--newsroom .img {
    height: 100%;
  }
  .post--newsroom .content {
    container-type: inline-size;
    width: 100%;
  }
  .post--newsroom .title {
    --title-size: clamp(1em, 0.2727em + 3.6364cqw, 1.25em);
  }
  .post.is--inline {
    display: flex;
    flex-flow: row nowrap;
    gap: var(--gap);
  }
  .post.is--inline figure {
    --img-size: 12.5rem;
    flex: 0 0 auto;
    width: var(--img-size);
  }
  aside .post.is--inline figure {
    --img-size: 4rem;
    height: var(--img-size);
    aspect-ratio: 1/1;
  }
  .post.is--inline .img {
    height: 100%;
  }
  .post--outlined figure {
    border: 0.2em solid hsl(var(--body-color)/1);
  }
  .post--featured {
    grid-column: 1/-1;
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--grid-gap);
  }
  @media (min-width: 80rem) {
    .post--featured {
      grid-template-columns: 1fr 1fr;
    }
    .post--featured > .content {
      padding-inline: calc(var(--grid-gap) * 1);
    }
    .post--featured > .content .meta {
      margin-block: calc(var(--grid-gap) * 0.5) calc(var(--grid-gap) * 0.25);
    }
    .post--featured.img--right > .content, .section-category:nth-child(even) .post--featured > .content {
      order: -1;
    }
    .post--featured.img--right.img--left > .content, .section-category:nth-child(even) .post--featured.img--left > .content {
      order: initial;
    }
  }
  @media (width > 80rem) {
    .post--featured .desc {
      font-size: 1em;
    }
  }
  .post--featured figure img {
    aspect-ratio: 3/2;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .post--featured > .content {
    container-type: inline-size;
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.5em;
  }
  .post--featured > .content .title {
    --title-size: clamp(1.25em, 0.5227em + 3.6364cqw, 1.75em);
  }
  .post--top .title {
    font-size: 0.875em;
  }
  .post--overlay {
    --post-radius: .75em;
    position: relative;
    gap: 0;
    width: 100%;
    height: auto;
    overflow: hidden;
    aspect-ratio: 4/3;
    border-radius: var(--post-radius);
    box-shadow: inset 0 0 0 1px hsl(var(--body-color)/0.125);
  }
  .post--overlay:hover figure:before, .post--overlay:focus figure:before, .post--overlay:focus-visible figure:before {
    opacity: 1;
  }
  .post--overlay:hover > .content .desc, .post--overlay:focus > .content .desc, .post--overlay:focus-visible > .content .desc {
    max-height: 20ch;
  }
  @media (width < 25rem) {
    .post--overlay.is--visible > .content .desc {
      max-height: 20ch;
    }
    .post--overlay.is--visible:has(.post-list--related) > .content .desc {
      max-height: 0;
    }
  }
  .post--overlay figure {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -3;
    border-radius: var(--post-radius);
  }
  .post--overlay figure .img {
    aspect-ratio: 4/3;
    min-height: 100%;
  }
  .post--overlay figure:before, .post--overlay figure:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    border-radius: var(--post-radius);
  }
  .post--overlay figure:before {
    background: linear-gradient(0deg, hsl(var(--black)/1), hsl(var(--black)/0.25));
    opacity: 0;
    transition: opacity var(--transition);
    mix-blend-mode: multiply;
  }
  .post--overlay figure:after {
    background: linear-gradient(0deg, hsl(var(--dark)/1), hsl(var(--dark)/0) 50%);
    mix-blend-mode: hard-light;
  }
  .post--overlay > .content {
    color: hsl(var(--gray-100)/1);
    position: absolute;
    z-index: 1;
    bottom: 0;
    padding: 3em 1em 0.75em;
    width: 100%;
    background: linear-gradient(0deg, hsl(var(--dark)/0.75), hsl(var(--dark)/0));
  }
  .post--overlay > .content:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -2;
    -webkit-mask-image: linear-gradient(to bottom, transparent, hsl(var(--black)/1) 33%);
            mask-image: linear-gradient(to bottom, transparent, hsl(var(--black)/1) 33%);
  }
  .post--overlay > .content .desc {
    color: hsl(var(--gray-200)/1);
    max-height: 0;
    transition: all 0.5s ease-in-out;
    overflow: hidden;
    -webkit-line-clamp: 3;
    margin-block-start: calc(var(--gap) * 0.5);
  }
  .post--overlay > .content > .title {
    font-weight: 450;
    margin-block-end: 0;
  }
  .post--overlay.post--lg > .content .title {
    --title-size: clamp(1.25em, 0.8929em + 1.7857cqw, 1.75em);
  }
  .post--some, .post--quote {
    --overlay-color: hsl(var(--primary)/1);
    --overlay-icon: url('data:image/svg+xml,<svg width="26" height="18" viewBox="0 0 26 18" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M12.6397 5.15957L9.44258 0L7.59709 0.805777C5.56965 1.70253 3.77614 3.05416 2.37253 4.75668C0.916934 6.36824 0.0851638 8.43467 0.00718533 10.5921C-0.0707931 12.4116 0.488052 14.2051 1.57975 15.6737C2.76242 17.1163 4.54293 17.922 6.41441 17.8441C7.81803 17.8441 9.15666 17.3242 10.1704 16.3625C11.2231 15.4137 11.8209 14.0751 11.8209 12.6585C11.8209 12.0477 11.7299 11.4368 11.535 10.865C11.3141 10.1762 10.9372 9.55236 10.4303 9.0325C9.87146 8.46066 9.16965 8.01878 8.41586 7.75885C8.35088 7.73286 8.2859 7.71987 8.22092 7.69387C8.84474 7.12203 9.55955 6.65416 10.3263 6.30326L12.6267 5.18557L12.6397 5.15957Z" fill="%23FFFFFF"/><path d="M23.8037 9.01945C23.2448 8.44761 22.543 8.00573 21.7892 7.7458C21.7242 7.71981 21.6592 7.70681 21.5943 7.68082C22.2181 7.10898 22.9329 6.64111 23.6997 6.2902L26 5.17251L22.8029 0.0129395L20.9574 0.818717C18.93 1.71547 17.1365 3.0671 15.7199 4.76962C14.2643 6.36818 13.4325 8.43461 13.3675 10.592C13.2896 12.4115 13.8484 14.205 14.9401 15.6736C16.1228 17.1162 17.9033 17.922 19.7748 17.844C21.1654 17.844 22.517 17.3242 23.5307 16.3624C24.5834 15.4137 25.1813 14.0751 25.1813 12.6584C25.1813 12.0476 25.0903 11.4368 24.8954 10.8649C24.6744 10.1761 24.2975 9.5523 23.7907 9.03245L23.8037 9.01945Z" fill="%23FFFFFF"/></svg>');
    background: linear-gradient(to bottom, var(--overlay-color), var(--overlay-color), hsl(var(--dark)/1));
  }
  .post--some figure, .post--quote figure {
    position: relative;
    z-index: 1;
    filter: grayscale(1) contrast(0.75) brightness(1.75);
    mix-blend-mode: multiply;
  }
  .post--some [data-icon], .post--quote [data-icon] {
    font-size: 2em;
    margin-block-end: 0.5em;
  }
  .post--some .img, .post--quote .img {
    opacity: 1;
  }
  .post--some > .content:after, .post--quote > .content:after {
    display: none;
  }
  .post--some > .content:before, .post--quote > .content:before {
    height: 1em;
    width: 1.4em;
    font-family: var(--font-serif);
    font-size: 2em;
    display: block;
    background-image: var(--overlay-icon);
    background-size: cover;
    background-repeat: no-repeat;
    margin-block: 1rem;
  }
  .post--some > .content .desc, .post--quote > .content .desc {
    max-height: initial;
  }
  .post--some .title, .post--quote .title {
    font-size: 1.25em;
    margin-block-end: 0.5em;
  }
  @media (min-width: 36rem) {
    .post--some .title, .post--quote .title {
      font-size: clamp(1.25em, 3vw, 1.5em);
    }
  }
  @media (min-width: 64rem) {
    .post--some .title, .post--quote .title {
      font-size: clamp(1.125em, 0.625em + 0.0488vw, 1.25em);
    }
  }
  .post--team {
    --post-img-size: min(100%, 15em);
    --hover-color: var(--body-color);
    display: flex;
    flex-flow: column nowrap;
    align-items: center;
    text-align: center;
    gap: 0;
  }
  @media (width > 48rem) {
    aside .post--team {
      --post-img-size: 12.5rem;
      gap: 0;
      flex-flow: column nowrap;
    }
  }
  .post--team:has(a:hover, a:focus, a:focus-visible) a .img, .post--team:hover a .img, .post--team:focus a .img, .post--team:focus-visible a .img {
    filter: none;
    scale: 0.9;
  }
  .post--team:has(a:hover, a:focus, a:focus-visible), .post--team:hover, .post--team:focus, .post--team:focus-visible {
    --hover-color: var(--primary);
  }
  .post--team figure {
    display: flex;
    flex-flow: column nowrap;
    aspect-ratio: 1/1;
    height: var(--post-img-size);
    width: var(--post-img-size);
    justify-content: flex-end;
    overflow: hidden;
    flex-shrink: 0;
  }
  .post--team figure .img {
    aspect-ratio: 1/1;
  }
  .post--team .content {
    text-align: center;
    align-items: center;
    width: 100%;
    border-top: 1px solid hsl(var(--hover-color)/1);
    padding-top: calc(var(--gap) * 0.5);
  }
  .post--team .group {
    margin-inline: auto;
  }
  .post--team .group--links {
    margin-block-start: calc(var(--gap) / 1);
    font-size: 0.675em;
  }
  .post--team .group--links a:hover, .post--team .group--links a:focus, .post--team .group--links a:focus-visible {
    color: hsl(var(--primary)/1);
  }
  .post--gallery figure {
    aspect-ratio: initial;
  }
  .post--gallery .img {
    aspect-ratio: initial;
    height: auto;
  }
  .post--ticker {
    align-items: center;
    justify-content: center;
    padding: 0 var(--gap);
    color: hsl(var(--white)/1);
  }
  .post--ticker .title {
    font-family: var(--font-sans);
    font-size: 1em;
    line-height: 1.1;
    text-align: center;
	display: -webkit-box;
	  -webkit-line-clamp: 2;
	  -webkit-box-orient: vertical;
	  overflow: hidden;
  }
  .post--related > .content .title {
    font-size: 0.875rem;
  }
  .post--aside .img {
    aspect-ratio: 16/9;
  }
  .post--aside .title {
    --title-size: .875em;
  }
  .frontpage {
    padding-block-start: calc(var(--content-gap) * 1);
    background: linear-gradient(to bottom, hsl(var(--body-light)/0.1), hsl(var(--gray-200)/0)) no-repeat;
  }
  .frontpage-grid {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas: "p1" "p2" "p3" "opinion " "ad" "p6" "p4" "p5" "cover" "p7" "p8" "p9" "p10" "feed";
    gap: calc(var(--gap) * 0.75);
  }
  @media (min-width: 36rem) {
    .frontpage-grid {
      grid-template-columns: 1fr 1fr;
      grid-template-areas: "p1 p1" "p1 p1" "p2 p3" "opinion opinion" "ad ad" "p6 p6" "p6 p6" "p4 p5" "cover cover" "cover cover" "p7 p8" "p9 p10" "feed feed" "feed feed";
    }
  }
  @media (min-width: 64rem) {
    .frontpage-grid {
      grid-template-columns: repeat(2, 1fr) minmax(18.75rem, 1fr);
      grid-template-areas: "p1 p1 opinion" "p1 p1 ad" "p2 p3 ad" "p6 p6 ad" "p6 p6 cover" "p4 p5 cover" "p7 p8 feed" "p9 p10 feed";
    }
    .frontpage-grid .post.post--lg {
      grid-column: span 2;
      grid-row: span 2;
    }
  }
  @media (min-width: 80rem) {
    .frontpage-grid {
      grid-template-columns: repeat(3, 1fr) minmax(18.75rem, 1fr);
      grid-template-areas: "p1 p1 p2 opinion" "p1 p1 p3 ad" "p4 p6 p6 ad" "p5 p6 p6 ad" "feed p7 p8 cover" "feed p9 p10 cover";
    }
  }
  .frontpage-grid .post.p1 {
    grid-area: p1;
  }
  .frontpage-grid .post.p2 {
    grid-area: p2;
  }
  .frontpage-grid .post.p3 {
    grid-area: p3;
  }
  .frontpage-grid .post.p4 {
    grid-area: p4;
  }
  .frontpage-grid .post.p5 {
    grid-area: p5;
  }
  .frontpage-grid .post.p6 {
    grid-area: p6;
  }
  .frontpage-grid .post.p7 {
    grid-area: p7;
  }
  .frontpage-grid .post.p8 {
    grid-area: p8;
  }
  .frontpage-grid .post.p9 {
    grid-area: p9;
  }
  .frontpage-grid .post.p0 {
    grid-area: p10;
  }
  .frontpage-grid .post--quote {
    grid-area: opinion;
  }
  .frontpage-grid .container,
  .frontpage-grid .ad-wrapper {
    grid-area: ad;
    height: 100%;
  }
  .frontpage-grid .container .ad-wrapper {
    height: auto;
    flex: 0 0 auto;
    position: sticky;
    top: calc(var(--header-height--sticky) + var(--gap));
  }
  .frontpage-grid .component {
    position: relative;
    padding: calc(var(--gap) * 0.5) calc(var(--gap) * 0.5) 0;
    min-height: 25rem;
  }
  @media (width < 64rem) {
    .frontpage-grid .component {
      padding: calc(var(--gap) * 1.5) 0;
    }
  }
  .frontpage-grid .component--latest {
    grid-area: feed;
  }
  .frontpage-grid .component--latest .post-component {
    max-height: 100%;
  }
  .frontpage-grid .component--latest .post-list--recent {
    max-height: none;
  }
  .frontpage-grid .component--cover {
    grid-area: cover;
    max-width: none;
    margin-inline: auto;
  }
  @media (width < 64rem) {
    .frontpage-grid .component--cover {
      max-width: 20em;
    }
  }
  .embed-wrapper {
    display: flex;
    justify-content: center;
  }
  .embed-wrapper > * {
    aspect-ratio: var(--aspect-ratio, 16/9);
    width: 100% !important;
  }
  .article {
    --article-gap: var(--content-gap);
  }
  main > .article {
    margin-block: var(--content-gap);
  }
  .article + .article {
    margin-block-start: var(---article-gap);
  }
  .article header :is(h1, h2, h3, h4, h5, h6) {
    font-family: var(--headings-font);
  }
  .article-title {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--article-gap) * 0.66);
  }
  .article-title .title {
    text-wrap: pretty;
    font-size: 2.25em;
    font-size: clamp(1.75em, 1.25rem + 2.5vw, 2.25em);
    max-width: 68ch;
  }
  .article-title .title + p {
    margin-block: 0;
    font-size: 1.125em;
  }
  .article-title .lead {
    font-weight: var(--fw-light);
    color: currentColor;
    margin-block: 0;
  }
  .article-title *:empty {
    display: none;
  }
  .article figure {
    position: relative;
    display: flex;
    flex-flow: column nowrap;
  }
  .article figure:has(iframe[src*=youtube]) {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .article figure:has(iframe[src*=youtube]) iframe {
    width: 100%;
    height: 100%;
    border: 0;
  }
  .article img {
    width: 100%;
    max-width: none;
  }
  .article video {
    width: 100%;
  }
  .article figcaption {
    width: 100%;
    line-height: 1.2;
    text-align: right;
    align-self: flex-end;
    font-size: 0.75em;
    margin-block-start: calc(var(--article-gap) * 0.5);
    padding-block-end: calc(var(--article-gap) * 0.5);
    color: hsl(var(--body-light)/1);
    font-weight: var(--fw-light);
    text-wrap: balance;
  }
  .article figcaption.lb-caption {
    color: hsl(var(--body-bg)/1);
    font-size: 0.875em;
    text-align: center;
    align-self: center;
  }
  .article--gallery .article-hero {
    display: grid;
  }
  @media (width > 64rem) {
    .article--gallery .article-hero {
      grid-column: extended;
      grid-template-columns: 3fr 2fr;
      grid-template-areas: "figure content";
      grid-template-rows: 1fr auto;
      -moz-column-gap: calc(var(--content-gap) * 1);
           column-gap: calc(var(--content-gap) * 1);
      margin-inline: var(--content-gap);
    }
    .article--gallery .article-hero > *:not(figure) {
      grid-column: content;
    }
    .article--gallery .article-hero figure {
      grid-column: figure;
      grid-row: span 2;
    }
  }
  @media (width > 64rem) and (width > 64rem) {
    .article--gallery .article-hero .article-title {
      position: sticky;
      top: calc(var(--header-height--sticky) + 1em);
      height: -moz-max-content;
      height: max-content;
      max-height: 100%;
      align-self: start;
      padding-block-end: calc(var(--content-gap) * 2.5);
    }
  }
  @media (width > 64rem) {
    .article--gallery .article-hero .article-utilities {
      width: min(var(--prose-max), 100% - var(--grid-margin) * 2);
    }
  }
  .article-body a {
    transition: all var(--link-transition);
  }
  .article-body a:hover, .article-body a:focus, .article-body a:focus-visible {
    color: hsl(var(--primary)/1);
    -webkit-text-decoration: 0.1em underline;
            text-decoration: 0.1em underline;
  }
  .article-utilities {
    display: flex;
    flex-flow: row wrap;
    justify-content: space-between;
    gap: calc(var(--article-gap) * 0.5);
  }
  .article .vignette {
    display: block;
    font-weight: var(--fw-regular);
    font-size: 1.125em;
  }
  .article .meta {
    display: flex;
    flex-flow: column nowrap;
    gap: calc(var(--article-gap) * 0.25);
  }
  .article .date {
    font-size: 0.875em;
    font-weight: var(--fw-light);
  }
  .article .author {
    display: flex;
    align-items: flex-end;
    gap: calc(var(--gap) * 0.5);
    line-height: 1;
    font-weight: var(--fw-regular);
    font-size: 0.875em;
  }
  .article .author-media {
    gap: calc(var(--gap) * 0.5);
  }
  .article .author-media:after {
    content: "•";
    display: inline-flex;
    padding-left: 0.675em;
    opacity: 0.5;
  }
  .article .author-name {
    font-weight: var(--fw-medium);
  }
  .article hr {
    color: hsl(var(--body-color)/1);
    width: 100%;
  }
  .article address {
    font-style: normal;
    line-height: 1.5;
  }
  .article table {
    --table-padding: var(--gap-sm, .5em);
    --table-border-color: hsl(var(--body-subtle) / .25);
    font-family: var(--font-mono, monospace);
    line-height: 1.5;
    text-align: left;
    width: 100%;
  }
  .article table th,
  .article table td {
    border: 1px solid;
    border-color: var(--table-border-color);
    padding: var(--table-padding);
  }
  .article table caption {
    color: hsl(var(--body-light)/1);
    background-color: var(--table-border-color);
  }
  .article .table-wrapper {
    max-width: 100%;
    overflow-x: auto;
  }
  .article-media {
    container-type: inline-size;
    display: flex;
    flex-flow: column nowrap;
    justify-content: center;
  }
  .article-body > .article-media {
    grid-column: streched;
  }
  .article-box {
    grid-column: content-end/extended-end;
    display: grid;
    flex-flow: column nowrap;
    gap: calc(var(--gap) * 0.5);
  }
  .article-box figure {
    margin-block-end: 0.5em;
  }
  .article-box figcaption {
    text-align: left;
  }
  .article-box h2, .article-box h3, .article-box h4, .article-box .title {
    font-size: 1.25em;
  }
  .article-box p, .article-box span, .article-box ul, .article-box ol {
    margin-block-end: 0.5em;
  }
  .article-box hr,
  .article-box [class*=separator] {
    height: 1px;
    width: 100%;
    background-color: var(--border-color);
    margin-block: calc(var(--gap) * 0.125);
  }
  .article-grid {
    --prose-max: 56ch;
    --grid-margin: calc(var(--content-gap) * 1);
    --grid-gap: calc(var(--content-gap) * 1.5);
    --grid-stretch: 10rem;
    --grid-aside: 20rem;
    --grid-full-width: full-width;
    --grid-extended: extended;
    --grid-streched: streched;
    --grid-content: content;
    --grid-column: var(--grid-content);
    container-type: inline-size;
  }
  @media (width < 80rem) {
    .article-grid {
      --grid-gap: calc(var(--content-gap) * 1);
    }
  }
  @media (width < 36rem) {
    .article-grid {
      --grid-gap: calc(var(--content-gap) * .666667);
    }
  }
  .article-grid {
    grid-template-columns: [full-width-start] minmax(var(--grid-margin), 1fr) [extended-start] minmax(0, calc(var(--grid-aside) - var(--grid-stretch))) [streched-start] minmax(0, var(--grid-stretch)) [content-start] min(var(--prose-max), 100% - var(--grid-margin) * 2) [content-end] minmax(0, var(--grid-stretch)) [streched-end] minmax(0, calc(var(--grid-aside) - var(--grid-stretch))) [extended-end] minmax(var(--grid-margin), 1fr) [full-width-end];
  }
  @media (width > 64rem) {
    .wrapper .article-grid, .grid--aside .article-grid {
      --grid-margin: 0px;
    }
  }
  .article-grid, .article-hero, .article-body, .article-sub {
    display: grid;
    grid-auto-flow: column;
    row-gap: var(--grid-gap);
    grid-template-rows: min-content auto;
  }
  .article-grid > *, .article-hero > *, .article-body > *, .article-sub > * {
    grid-column: var(--grid-column);
    min-height: 0;
  }
  .article-grid > *.width--stretched, .article-hero > *.width--stretched, .article-body > *.width--stretched, .article-sub > *.width--stretched {
    --grid-column: var(--grid-streched);
  }
  .article-grid > *.width--stretched, .article-hero > *.width--stretched, .article-body > *.width--stretched, .article-sub > *.width--stretched {
    --grid-column: var(--grid-streched);
  }
  .article-grid > *.width--extended, .article-hero > *.width--extended, .article-body > *.width--extended, .article-sub > *.width--extended {
    --grid-column: var(--grid-extended);
  }
  .article-grid > *.width--full, .article-hero > *.width--full, .article-body > *.width--full, .article-sub > *.width--full {
    --grid-column: var(--grid-full-width);
  }
  .article-grid > *, .article-grid > *.width--content, .article-hero > *, .article-hero > *.width--content, .article-body > *, .article-body > *.width--content, .article-sub > *, .article-sub > *.width--content {
    --grid-column: var(--grid-content);
  }
  @media (width < 48rem) {
    .article-grid > *, .article-hero > *, .article-body > *, .article-sub > * {
      --grid-column: var(--grid-extended);
    }
    .article-grid > *.ad-wrapper, .article-hero > *.ad-wrapper, .article-body > *.ad-wrapper, .article-sub > *.ad-wrapper {
      grid-column: var(--grid-full-width);
    }
  }
  .article-grid:has(> aside) > *, .article-hero:has(> aside) > *, .article-body:has(> aside) > *, .article-sub:has(> aside) > * {
    --grid-column: var(--grid-content);
  }
  @container (width > 64rem) {
    .article-grid:has(> aside) > *.width--stretched, .article-grid:has(> aside) > *.width--extended, .article-grid:has(> aside) > *.width--full, .article-hero:has(> aside) > *.width--stretched, .article-hero:has(> aside) > *.width--extended, .article-hero:has(> aside) > *.width--full, .article-body:has(> aside) > *.width--stretched, .article-body:has(> aside) > *.width--extended, .article-body:has(> aside) > *.width--full, .article-sub:has(> aside) > *.width--stretched, .article-sub:has(> aside) > *.width--extended, .article-sub:has(> aside) > *.width--full {
      --grid-column: var(--grid-content);
    }
  }
  .article-hero, .article-body, .article-sub {
    --grid-column: var(--grid-full-width);
    grid-template-columns: subgrid;
    grid-auto-rows: max-content;
    min-height: 0;
  }
  .article-hero iframe, .article-body iframe, .article-sub iframe {
    width: 100%;
    display: block;
    border: 0;
    margin-inline: auto;
  }
	
  .article aside {
    container-type: inline-size;
    display: grid;
    justify-content: center;
    grid-auto-rows: max-content;
    grid-auto-columns: 1fr;
    grid-column: var(--grid-column);
    height: -moz-max-content;
    height: max-content;
    font-size: 1rem;
  }
  .article aside > * {
    grid-column: 1/-1;
  }
  .article aside > * + * {
    margin-block-start: var(--grid-gap);
  }
  @container (width > 16rem) {
    .article aside .aside-wrapper {
      border-top: 4px solid currentColor;
      border-bottom: 1px solid var(--border-color);
      padding-block: calc(var(--prose-space) * 0.75) calc(var(--prose-space) * 1);
      margin-block: calc(var(--prose-space) * 1);
    }
  }
  @container (width > 64rem) {
    .article aside {
      --grid-column: extended-start/content-start;
      position: sticky;
      z-index: 10;
      top: calc(var(--header-height--sticky, 0) + var(--content-gap, 1.5rem));
      grid-row: auto/span 5;
      padding-inline: 0 var(--grid-gap);
    }
	  
    .article-sub:has(> :nth-child(6)) aside {
      grid-row: auto/span 8;
    }
	  
    .article-sub:has(> :nth-child(11)) aside {
      grid-row: auto/span 15;
    }
	  
    .article aside + *:not(aside) {
      margin-block-start: 0;
    }
    .article aside ~ aside:not([class]), .article aside.aside--right {
      --grid-column: content-end / extended-end;
      padding-inline: var(--grid-gap) 0;
    }
  }
  .article-featured, .article-media {
    --grid-column: var(--grid-streched);
  }
  aside .article-featured, aside .article-media {
    --grid-column: 1/-1;
    display: grid;
    row-gap: var(--grid-gap);
  }
  .article-footer {
    display: grid;
    grid-column: var(--grid-extended);
    gap: calc(var(--grid-gap) * 1.5);
  }
  .article--long video,
  .article--long figure img {
    border-radius: var(--border-radius);
  }
  .article--long aside figure img {
    border-radius: var(--border-radius);
  }
  @media (width > 64rem) {
    .article--long aside .article-utilities {
      gap: var(--gap);
    }
    .article--long aside .article-utilities .meta {
      gap: var(--gap);
    }
    .article--long aside .article-utilities .author {
      flex-flow: column nowrap;
      align-items: start;
    }
    .article--long aside .article-utilities .author-media:after {
      display: none;
    }
  }
  .article .parallax {
    background: var(--background-image), linear-gradient(to right, hsl(var(--body-bg)/1));
    aspect-ratio: 16/9;
    background-attachment: fixed;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100% auto;
  }
  @media (pointer: coarse) {
    .article .parallax {
      background-attachment: scroll;
    }
  }
  .article .parallax img {
    border-radius: 0;
  }
  .article-iframe {
    max-width: 100%;
    overflow-x: hidden;
    padding-inline: 1px;
  }
  .article-sub,
  .prose {
    --prose-space: calc(var(--grid-gap) * 1);
    line-height: 1.5;
    row-gap: 0;
    font-size: 1.125em;
    font-weight: var(--body-fw);
    color: hsl(var(--body-color)/1);
  }
  .article-sub .article-sub,
  .article-sub .prose,
  .prose .article-sub,
  .prose .prose {
    font-size: 1em;
  }
  .article-sub > * + *,
  .prose > * + * {
    margin-block: var(--prose-space) 0;
  }
  @container (width < 36rem) {
    .article-sub > * + *:where(blockquote),
    .prose > * + *:where(blockquote) {
      margin-block: calc(var(--prose-space) * 2) calc(var(--prose-space) * 1);
    }
  }
  @container (width > 64rem) {
    .article-sub > * + *:is(aside),
    .prose > * + *:is(aside) {
      margin-block-start: 0;
    }
  }
  .article-sub * + :is(h1, h2, h3, h4, h5, h6),
  .prose * + :is(h1, h2, h3, h4, h5, h6) {
    --prose-space: calc(var(--gap) * 2.5);
    line-height: 1.25;
  }
  .article-sub h1 + :is(h1, h2, h3, h4, h5, h6), .article-sub h2 + :is(h1, h2, h3, h4, h5, h6), .article-sub h3 + :is(h1, h2, h3, h4, h5, h6), .article-sub h4 + :is(h1, h2, h3, h4, h5, h6), .article-sub h5 + :is(h1, h2, h3, h4, h5, h6), .article-sub h6 + :is(h1, h2, h3, h4, h5, h6),
  .prose h1 + :is(h1, h2, h3, h4, h5, h6),
  .prose h2 + :is(h1, h2, h3, h4, h5, h6),
  .prose h3 + :is(h1, h2, h3, h4, h5, h6),
  .prose h4 + :is(h1, h2, h3, h4, h5, h6),
  .prose h5 + :is(h1, h2, h3, h4, h5, h6),
  .prose h6 + :is(h1, h2, h3, h4, h5, h6) {
    --prose-space: calc(var(--gap) * 1);
  }
  .article-sub :is(h1, h2, h3, h4, h5, h6) + p,
  .prose :is(h1, h2, h3, h4, h5, h6) + p {
    --prose-space: calc(var(--gap) * 1);
  }
  .article-sub h1, .article-sub h2,
  .prose h1,
  .prose h2 {
    line-height: 1.1;
  }
  .article-sub :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:not([class]),
  .prose :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:not([class]) {
    --link-color: var(--red-600);
    color: hsl(var(--link-color)/1);
    -webkit-text-decoration: underline 0.075em hsl(var(--link-color)/1) dotted;
            text-decoration: underline 0.075em hsl(var(--link-color)/1) dotted;
    text-underline-offset: 0.175em;
    display: inline;
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
    outline: 0.15em solid transparent;
    transition: color 0.2s, outline-color 0.2s, background-color 0.2s;
    cursor: pointer;
  }
  .article-sub :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:not([class]):hover, .article-sub :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:not([class]):focus, .article-sub :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:not([class]):focus-visible,
  .prose :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:hover,
  .prose :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:focus,
  .prose :is(p, ol, ul, dl, blockquote, pre, figcaption, table) a:focus-visible {
    -webkit-text-decoration: underline 0.075em hsl(var(--link-color)/1) solid;
            text-decoration: underline 0.075em hsl(var(--link-color)/1) solid;
    background-color: hsl(var(--link-color)/0.1);
    outline-color: hsl(var(--link-color)/0.075);
  }
  .article-sub strong, .article-sub b,
  .prose strong,
  .prose b {
    font-weight: var(--fw-medium);
  }
  .article-sub p.dropcap,
  .prose p.dropcap {
    font-weight: var(--fw-regular);
  }
  .article-sub p.dropcap::first-letter,
  .prose p.dropcap::first-letter {
    float: left;
    font-size: 5em;
    line-height: 0.75;
    margin-inline: -0.01em 0.1em;
    margin-top: 0.1em;
    font-weight: var(--fw-regular);
  }
  .article-sub .highlight,
  .prose .highlight {
    position: relative;
    z-index: 2;
    background-color: hsl(var(--subtle-bg)/1);
    padding: calc(var(--prose-space) * 0.375) calc(var(--prose-space) * 0.375);
    margin: calc(var(--prose-space) - var(--prose-space) * 0.375) calc(var(--prose-space) * -0.375) calc(var(--prose-space) * -0.375);
  }
  .article-sub .highlight:before,
  .prose .highlight:before {
    content: var(--symbol, "!");
    color: var(--symbol-color, hsl(var(--primary)/1));
    float: left;
    display: grid;
    justify-content: center;
    align-items: center;
    font-size: 3.5em;
    line-height: 0.75;
    margin-inline: -0.01em 0.125em;
    margin-top: 0.05em;
    height: 0.75em;
    font-weight: var(--fw-regular);
  }
  .article-sub blockquote,
  .prose blockquote {
    position: relative;
    --symbol: "\201C";
  }
  .article-sub blockquote > p,
  .prose blockquote > p {
    display: inline;
    position: relative;
    margin-block-start: 0;
    font-family: var(--headings-font);
    font-weight: var(--fw-medium);
    font-size: 1.125em;
    --symbol-width: 3.5rem;
    --symbol-height: calc(var(--symbol-width) * .9);
  }
  .article-sub blockquote > p + p,
  .prose blockquote > p + p {
    display: inline-block;
    margin-block-start: calc(var(--prose-space) * 0.5);
  }
  .article-sub blockquote > p strong,
  .prose blockquote > p strong {
    font-weight: var(--fw-bolder);
  }
  .article-sub blockquote > p:first-of-type:after,
  .prose blockquote > p:first-of-type:after {
    content: "";
    position: absolute;
    top: 0.5rem;
    left: calc(var(--symbol-width) * -1.3125);
    width: var(--symbol-width);
    height: var(--symbol-height);
    background-color: hsl(var(--body-color)/1);
    -webkit-mask-repeat: no-repeat;
            mask-repeat: no-repeat;
    -webkit-mask-size: contain;
            mask-size: contain;
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='26' height='18' viewBox='0 0 26 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.6397 5.15957L9.44258 0L7.59709 0.805777C5.56965 1.70253 3.77614 3.05416 2.37253 4.75668C0.916934 6.36824 0.0851638 8.43467 0.00718533 10.5921C-0.0707931 12.4116 0.488052 14.2051 1.57975 15.6737C2.76242 17.1163 4.54293 17.922 6.41441 17.8441C7.81803 17.8441 9.15666 17.3242 10.1704 16.3625C11.2231 15.4137 11.8209 14.0751 11.8209 12.6585C11.8209 12.0477 11.7299 11.4368 11.535 10.865C11.3141 10.1762 10.9372 9.55236 10.4303 9.0325C9.87146 8.46066 9.16965 8.01878 8.41586 7.75885C8.35088 7.73286 8.2859 7.71987 8.22092 7.69387C8.84474 7.12203 9.55955 6.65416 10.3263 6.30326L12.6267 5.18557L12.6397 5.15957Z' fill='currentColor'/%3E%3Cpath d='M23.8037 9.01945C23.2448 8.44761 22.543 8.00573 21.7892 7.7458C21.7242 7.71981 21.6592 7.70681 21.5943 7.68082C22.2181 7.10898 22.9329 6.64111 23.6997 6.2902L26 5.17251L22.8029 0.0129395L20.9574 0.818717C18.93 1.71547 17.1365 3.0671 15.7199 4.76962C14.2643 6.36818 13.4325 8.43461 13.3675 10.592C13.2896 12.4115 13.8484 14.205 14.9401 15.6736C16.1228 17.1162 17.9033 17.922 19.7748 17.844C21.1654 17.844 22.517 17.3242 23.5307 16.3624C24.5834 15.4137 25.1813 14.0751 25.1813 12.6584C25.1813 12.0476 25.0903 11.4368 24.8954 10.8649C24.6744 10.1761 24.2975 9.5523 23.7907 9.03245L23.8037 9.01945Z' fill='currentColor'/%3E%3C/svg%3E%0A");
            mask-image: url("data:image/svg+xml,%3Csvg width='26' height='18' viewBox='0 0 26 18' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.6397 5.15957L9.44258 0L7.59709 0.805777C5.56965 1.70253 3.77614 3.05416 2.37253 4.75668C0.916934 6.36824 0.0851638 8.43467 0.00718533 10.5921C-0.0707931 12.4116 0.488052 14.2051 1.57975 15.6737C2.76242 17.1163 4.54293 17.922 6.41441 17.8441C7.81803 17.8441 9.15666 17.3242 10.1704 16.3625C11.2231 15.4137 11.8209 14.0751 11.8209 12.6585C11.8209 12.0477 11.7299 11.4368 11.535 10.865C11.3141 10.1762 10.9372 9.55236 10.4303 9.0325C9.87146 8.46066 9.16965 8.01878 8.41586 7.75885C8.35088 7.73286 8.2859 7.71987 8.22092 7.69387C8.84474 7.12203 9.55955 6.65416 10.3263 6.30326L12.6267 5.18557L12.6397 5.15957Z' fill='currentColor'/%3E%3Cpath d='M23.8037 9.01945C23.2448 8.44761 22.543 8.00573 21.7892 7.7458C21.7242 7.71981 21.6592 7.70681 21.5943 7.68082C22.2181 7.10898 22.9329 6.64111 23.6997 6.2902L26 5.17251L22.8029 0.0129395L20.9574 0.818717C18.93 1.71547 17.1365 3.0671 15.7199 4.76962C14.2643 6.36818 13.4325 8.43461 13.3675 10.592C13.2896 12.4115 13.8484 14.205 14.9401 15.6736C16.1228 17.1162 17.9033 17.922 19.7748 17.844C21.1654 17.844 22.517 17.3242 23.5307 16.3624C24.5834 15.4137 25.1813 14.0751 25.1813 12.6584C25.1813 12.0476 25.0903 11.4368 24.8954 10.8649C24.6744 10.1761 24.2975 9.5523 23.7907 9.03245L23.8037 9.01945Z' fill='currentColor'/%3E%3C/svg%3E%0A");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg width='29' height='24' viewBox='0 0 29 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.70617 3.03462C0.551331 6.00301 0 10.1816 0 13.415V24H13V12H6C6 10.3803 6.63823 8.61154 7.6 7.6C9.24787 5.98033 11.5289 6 12.9011 6H13L13 0H12.7664C10.5733 0 6.73236 0.204717 3.71229 3.03462H3.70617Z' fill='currentColor'/%3E%3Cpath d='M19.7062 3.03462C16.5513 6.00301 16 10.1816 16 13.415V24H29V12H22C22 10.3803 22.6382 8.61154 23.6 7.6C25.2479 5.98033 27.5289 6 28.9011 6H29L29 0H28.7664C26.5733 0 22.7324 0.204717 19.7123 3.03462H19.7062Z' fill='currentColor'/%3E%3C/svg%3E%0A");
            mask-image: url("data:image/svg+xml,%3Csvg width='29' height='24' viewBox='0 0 29 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M3.70617 3.03462C0.551331 6.00301 0 10.1816 0 13.415V24H13V12H6C6 10.3803 6.63823 8.61154 7.6 7.6C9.24787 5.98033 11.5289 6 12.9011 6H13L13 0H12.7664C10.5733 0 6.73236 0.204717 3.71229 3.03462H3.70617Z' fill='currentColor'/%3E%3Cpath d='M19.7062 3.03462C16.5513 6.00301 16 10.1816 16 13.415V24H29V12H22C22 10.3803 22.6382 8.61154 23.6 7.6C25.2479 5.98033 27.5289 6 28.9011 6H29L29 0H28.7664C26.5733 0 22.7324 0.204717 19.7123 3.03462H19.7062Z' fill='currentColor'/%3E%3C/svg%3E%0A");
  }
  .article-sub blockquote > p:first-of-type:before,
  .prose blockquote > p:first-of-type:before {
    text-indent: calc(var(--prose-space) * 0.0125);
    content: var(--symbol, "“");
    opacity: 0;
    float: left;
    font-size: 8.5em;
    line-height: 0.75;
    margin-inline-end: 0.125rem;
    margin-top: 0.025em;
    font-weight: var(--fw-regular);
    font-family: var(--body-font);
    height: var(--symbol-height);
    width: calc(var(--symbol-width) + 1rem);
    display: grid;
    justify-content: flex-end;
    align-items: flex-end;
    transform: translateZ(0);
  }
  .article-sub address,
  .prose address {
    font-size: clamp(0.875em, 0.5em + 0.7813vw, 1em);
  }
  .article-sub address,
  .article-sub .border-x,
  .prose address,
  .prose .border-x {
    margin-block: calc(var(--grid-gap) * 0.5);
    padding-block: calc(var(--grid-gap) * 0.5);
    border-block: 1px solid currentColor;
  }
  .article-sub :where(ol, ul):not([class]),
  .prose :where(ol, ul):not([class]) {
    --list-item-space: calc(var(--prose-space) * .5);
    list-style: initial;
    padding-inline-start: 0;
    margin-inline-start: var(--list-item-space);
  }
  .article-sub :where(ol, ul):not([class]) :where(li),
  .prose :where(ol, ul):not([class]) :where(li) {
    padding-left: calc(var(--prose-space) * 0.25);
  }
  .article-sub :where(ol, ul):not([class]) :where(li):not(:first-of-type),
  .prose :where(ol, ul):not([class]) :where(li):not(:first-of-type) {
    margin-block-start: calc(var(--list-item-space) * 0.25);
  }
  .article-sub :where(ol, ul):not([class]) :where(li):not(:first-of-type) ol, .article-sub :where(ol, ul):not([class]) :where(li):not(:first-of-type) ul,
  .prose :where(ol, ul):not([class]) :where(li):not(:first-of-type) ol,
  .prose :where(ol, ul):not([class]) :where(li):not(:first-of-type) ul {
    margin-block-start: calc(var(--list-item-space) * 0.25);
  }
  .article-sub :where(ol),
  .prose :where(ol) {
    list-style: numeric;
  }
  .article-sub :where(dl) dt:not(:first-of-type), .article-sub :where(dl) dd:not(:first-of-type),
  .prose :where(dl) dt:not(:first-of-type),
  .prose :where(dl) dd:not(:first-of-type) {
    margin-block-start: calc(var(--gap) * 0.5);
  }
  .article-sub :where(dl) dt,
  .prose :where(dl) dt {
    float: left;
    clear: left;
    margin-inline-end: calc(var(--gap) * 0.5);
  }
  .article-sub aside ol, .article-sub aside ul,
  .prose aside ol,
  .prose aside ul {
    margin-block-start: 0;
  }
  .article-sub .nav-list,
  .article-sub .list-unstyled,
  .prose .nav-list,
  .prose .list-unstyled {
    list-style: none;
    --list-item-space: 0;
  }
  .article-sub form,
  .prose form {
    --form-gap: var(--prose-space);
    --spacing-x: calc(var(--form-gap) * .5);
    --spacing-y: calc(var(--form-gap) * .25);
  }
  .article-sub form button,
  .prose form button {
    margin: 0;
    overflow: visible;
    font-family: inherit;
    text-transform: none;
  }
  .article-sub form,
  .article-sub fieldset,
  .prose form,
  .prose fieldset {
    display: flex;
    flex-flow: column nowrap;
    font-size: var(--form-font-size, 1rem);
    gap: calc(var(--form-gap) * 0.5);
  }
  .article-sub form ol, .article-sub form ul,
  .article-sub fieldset ol,
  .article-sub fieldset ul,
  .prose form ol,
  .prose form ul,
  .prose fieldset ol,
  .prose fieldset ul {
    list-style: none;
    margin-inline-start: 0;
  }
  .article-sub input[type=email],
  .article-sub input[type=number],
  .article-sub input[type=search],
  .article-sub input[type=text],
  .article-sub input[type=tel],
  .article-sub input[type=url],
  .article-sub input[type=password],
  .article-sub input[type=date],
  .article-sub input[type=month],
  .article-sub textarea,
  .article-sub select,
  .prose input[type=email],
  .prose input[type=number],
  .prose input[type=search],
  .prose input[type=text],
  .prose input[type=tel],
  .prose input[type=url],
  .prose input[type=password],
  .prose input[type=date],
  .prose input[type=month],
  .prose textarea,
  .prose select {
    line-height: 1.5;
    padding: var(--spacing-y) var(--spacing-x);
    border: 1px solid hsl(var(--gray-500)/0.33);
    background-color: hsl(var(--gray-500)/0.05);
  }
  .article-sub textarea,
  .prose textarea {
    min-height: 8em;
    field-sizing: content;
    padding: var(--spacing-y) var(--spacing-x);
  }
  .article-sub .group > input,
  .prose .group > input {
    inline-size: initial;
  }
  .article-sub input[type=email]:focus,
  .article-sub input[type=number]:focus,
  .article-sub input[type=search]:focus,
  .article-sub input[type=text]:focus,
  .article-sub input[type=tel]:focus,
  .article-sub input[type=url]:focus,
  .article-sub input[type=password]:focus,
  .article-sub input[type=date]:focus,
  .article-sub input[type=month]:focus,
  .article-sub textarea:focus,
  .article-sub select:focus,
  .prose input[type=email]:focus,
  .prose input[type=number]:focus,
  .prose input[type=search]:focus,
  .prose input[type=text]:focus,
  .prose input[type=tel]:focus,
  .prose input[type=url]:focus,
  .prose input[type=password]:focus,
  .prose input[type=date]:focus,
  .prose input[type=month]:focus,
  .prose textarea:focus,
  .prose select:focus {
    background-color: hsl(var(--primary)/0.05);
    border: 1px solid hsl(var(--primary)/0.5);
    box-shadow: 0 0 0.5em hsl(var(--primary-400)/0.25);
    outline: 0;
  }
  .article-sub label,
  .article-sub legend,
  .prose label,
  .prose legend {
    display: block;
    margin-bottom: calc(var(--form-gap) * 0.25);
    font-weight: var(--fw-regular);
  }
  .article-sub label:has([type=checkbox], [type=radio]),
  .prose label:has([type=checkbox], [type=radio]) {
    width: -moz-fit-content;
    width: fit-content;
    cursor: pointer;
  }
  .article-sub fieldset,
  .prose fieldset {
    width: 100%;
    margin-block-end: var(--form-gap, var(--gap, 1em));
    padding: 0;
    border: 0;
  }
  .article-sub fieldset:not(:last-of-type),
  .prose fieldset:not(:last-of-type) {
    padding-block-end: var(--form-gap, var(--gap, 1em));
    margin-block-end: calc(var(--form-gap, var(--gap, 1em)) * 0.25);
    border-bottom: 1px solid var(--border-color);
  }
  .article-sub ::-webkit-calendar-picker-indicator,
  .prose ::-webkit-calendar-picker-indicator {
    filter: invert(1);
  }
  .article-sub [type=checkbox],
  .article-sub [type=radio],
  .prose [type=checkbox],
  .prose [type=radio] {
    width: 1.25em;
    height: 1.25em;
    margin-top: -0.125em;
    margin-inline-end: 0.5em;
    border-width: var(--border-width);
    vertical-align: middle;
    cursor: pointer;
    accent-color: hsl(var(--primary)/1);
  }
  .article-sub [type=checkbox] ~ label,
  .article-sub [type=radio] ~ label,
  .prose [type=checkbox] ~ label,
  .prose [type=radio] ~ label {
    display: inline-block;
    margin-bottom: 0;
    cursor: pointer;
  }
  .article-sub [type=checkbox] ~ label:not(:last-of-type),
  .article-sub [type=radio] ~ label:not(:last-of-type),
  .prose [type=checkbox] ~ label:not(:last-of-type),
  .prose [type=radio] ~ label:not(:last-of-type) {
    margin-inline-end: 1em;
  }
}
.swiper {
  width: 100%;
}
.swiper-wrapper {
  width: 100%;
  max-width: 100%;
  display: flex;
  align-items: stretch;
}
.swiper--home .swiper-wrapper {
  display: flex;
}
.swiper-slide {
  height: auto;
  display: flex;
}
.swiper-slide > * {
  height: 100%;
}
.swiper--home .swiper-slide {
  height: auto;
  display: flex;
  flex-flow: column nowrap;
}
.carousel .swiper-slide {
  display: flex;
  flex-flow: column nowrap;
}
.swiper-slide-visible {
  z-index: 1;
}
.swiper--post .swiper-slide {
  width: var(--slide-width, 100cqw);
  transition: width 0.3s ease;
}
@container (width > 36rem) {
  .swiper--post .swiper-slide:nth-last-child(n+2), .swiper--post .swiper-slide:nth-last-child(n+2) ~ .swiper-slide {
    --slide-width: calc(50cqw - 1em);
  }
}
@container (width > 64rem) {
  .swiper--post .swiper-slide:nth-last-child(n+3), .swiper--post .swiper-slide:nth-last-child(n+3) ~ .swiper-slide {
    --slide-width: calc(33.333cqw - 1.33em);
  }
}
@container (width > 96rem) {
  .swiper--post .swiper-slide:nth-last-child(n+4), .swiper--post .swiper-slide:nth-last-child(n+4) ~ .swiper-slide {
    --slide-width: calc(25cqw - 1.5em);
  }
}
.swiper-pagination {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
  margin-inline: auto;
  margin-block: calc(var(--gap) * 0.5) 0;
}
.pagination-wrapper .swiper-pagination {
  margin-inline: unset;
}
.swiper-pagination {
  --swiper-color: hsl(var(--body-color)/1);
  --swiper-pagination-color: trasnparent;
  --swiper-pagination-bullet-inactive-color: hsl(var(--body-color) / 0);
}
.swiper-pagination-bullet {
  transition: all 0.3s ease-in-out;
  position: relative;
}
.swiper-pagination-bullet:before {
  position: absolute;
  content: "";
  background-color: var(--swiper-color);
  height: 0.7em;
  width: calc(100% - 0.3em);
  border-radius: 0.5em;
  top: 0.15em;
  left: 0.15em;
  z-index: 1;
  pointer-events: none;
}
.swiper-pagination-bullet:hover, .swiper-pagination-bullet:focus, .swiper-pagination-bullet:focus-visible {
  --swiper-pagination-bullet-width: 2.5em;
}
.swiper-pagination-bullet-active {
  --swiper-pagination-bullet-width: 2.5em;
  --swiper-pagination-bullet-border-radius: .5em;
}
.card-footer .swiper-pagination-horizontal {
  width: auto;
}
.swiper-pagination--home {
  --swiper-pagination-bottom: 2em;
  --swiper-color: hsl(var(--white)/1);
  z-index: 1;
  right: 0;
  width: auto !important;
}
@media (min-width: 64rem) {
  .swiper-pagination--home {
    margin-inline: calc(60% + var(--gap) * 0.5) calc(var(--gap) * 2);
  }
}
.swiper-pagination--carousel {
  width: auto;
  flex-basis: max-content;
}
.swiper-controls {
  --swiper-navigation-size: 3em;
  --swiper-navigation-sides-offset: calc(var(--swiper-navigation-size) * -1);
  position: absolute;
  left: 0;
  right: 0;
  height: 66%;
  top: 0;
  display: flex;
  flex-direction: column;
  gap: 1em;
  justify-content: center;
  width: var(--gap-left, 4em);
  margin-inline: 0;
}
@media (max-width: 64em) {
  .swiper-controls {
    display: none;
  }
}
.swiper-button-prev:after, .swiper-button-next:after {
  font-family: -apple-system, BlinkMacSystemFont, avenir next, avenir, segoe ui, helvetica neue, Adwaita Sans, Cantarell, Ubuntu, roboto, noto, helvetica, arial, sans-serif;
  content: "→";
  display: none;
}
.swiper-button-prev.carousel-button-prev, .swiper-button-prev.carousel-button-next, .swiper-button-next.carousel-button-prev, .swiper-button-next.carousel-button-next {
  position: static;
}
.swiper-button-prev:after {
  content: "←";
}
.swiper--carousel .swiper-button-next.carousel-button-next {
  left: 0;
}
.swiper:has(.swiper-pagination-bullet:nth-child(2)) {
  padding-block-end: calc(var(--content-gap) * 1.75) !important;
}
.swiper--thumbs {
  display: none;
  overflow: visible;
}
@media (min-width: 48rem) {
  .swiper--thumbs {
    display: flex;
  }
}
.swiper--thumbs > .swiper-wrapper > .swiper-slide {
  flex: 0 0 25%;
  width: 25%;
  min-width: 0;
}
/* ──────────────────────────────────────────────────────────────
 * Accessibility additions (skip-link, sr-only, focus-visible)
 * ────────────────────────────────────────────────────────────── */

.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 !important;
  width: 1px;
  word-wrap: normal !important;
  white-space: nowrap;
}

.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100000;
  padding: 0.75rem 1rem;
  background: #171717;
  color: #fff;
  font-weight: 700;
  text-decoration: none;
  border-radius: 0 0 0.25rem 0;
}
.skip-link:focus,
.skip-link:focus-visible {
  left: 0;
  outline: 2px solid #d01b28;
  outline-offset: 2px;
}

/* Keyboard focus ring — scope to buttons and anchors only.
 * Inputs / textareas / selects keep their native focus styling so an
 * autofocused <input> doesn't look "pre-selected" with a bright ring. */
:where(a, button, [tabindex]):focus {
  outline: none;
}
:where(a, button, [tabindex]):focus-visible {
  outline: 2px solid #d01b28;
  outline-offset: 2px;
  border-radius: 2px;
}

/* Focus-visible parity for elements that already define :hover styles */
.btn-link:focus-visible { color: #d01b28; }
.btn--badge:focus-visible { outline-offset: 3px; }
.nav-link:focus-visible,
.nav-link--sub:focus-visible,
.menu-link:focus-visible,
.pagination-nav a:focus-visible,
.tag-item a:focus-visible { color: #d01b28; }
.header-component a:focus-visible { opacity: 0.9; }
.heading a:focus-visible:after,
.heading.has--line > a:focus-visible:after,
.heading.has--line > a:focus-visible:before { opacity: 1; }
.post a:focus-visible { color: #d01b28; }
.post:has(a:focus-visible) a .img { transform: scale(1.04); }
.post--thumb:not(.swiper-slide-thumb-active .post--thumb):focus-visible,
.post--thumb:not(.swiper-slide-thumb-active .post--thumb) a:focus-visible { outline: 2px solid #d01b28; outline-offset: 2px; }
.post--overlay:focus-within > .content .desc { opacity: 1; }
.post--team:has(a:focus-visible) a .img,
.post--team:focus-within a .img { transform: scale(1.04); }
.post--team .group--links a:focus-visible { color: #d01b28; }
.article-body a:focus-visible { text-decoration: underline; }
.swiper-pagination-bullet:focus-visible { outline: 2px solid #d01b28; outline-offset: 3px; }

/* Overlays: fully hidden when inert/closed */
.header-overlay[inert],
.header-overlay[aria-hidden="true"] {
  pointer-events: none;
}

/* Override: .component.has--bg (specificity 0,2,0) was winning over
   .component--custom (0,1,0), stripping the rich radial+url background.
   Bump specificity so custom sections keep their background image. */
.component.component--custom {
  background:
    radial-gradient(100% 100% at 50% 100%, hsl(var(--body-bg)/0.5) 0%, hsl(var(--body-bg)/0) 100%),
    var(--custom-bg, url("../images/bgrnd-light.jpg")),
    linear-gradient(to top, hsl(var(--body-bg)/1));
  background-color: hsl(var(--body-bg)/1);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}


/* ──────────────────────────────────────────────────────────────
 * Comment form (.form--comment) — dist only ships `.form input[type=text]`
 * generic rules; comment form uses email/url/textarea which need explicit
 * styling. Keep look consistent with newsletter/search.
 * ────────────────────────────────────────────────────────────── */
.form--comment {
  display: flex;
  flex-direction: column;
  gap: var(--form-gap, 1rem);
  max-width: 640px;
  margin-block-start: calc(var(--gap) * 0.75);
}
.form--comment .form-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.form--comment label {
  font-size: 0.875em;
  letter-spacing: 0.05em;
  font-weight: var(--fw-medium);
}
.form--comment input[type="text"],
.form--comment input[type="email"],
.form--comment input[type="url"],
.form--comment textarea {
  width: 100%;
  padding: 0.625em 0.75em;
  color: hsl(var(--body-color)/1);
  background-color: hsl(var(--body-color)/0.05);
  border: 1px solid hsl(var(--body-color)/0.15);
  border-radius: 2px;
  font: inherit;
  font-weight: 400;
  transition: background-color 0.2s, border-color 0.2s;
}
.form--comment input[type="text"]:hover,
.form--comment input[type="email"]:hover,
.form--comment input[type="url"]:hover,
.form--comment textarea:hover {
  background-color: hsl(var(--body-color)/0.075);
}
.form--comment input[type="text"]:focus,
.form--comment input[type="email"]:focus,
.form--comment input[type="url"]:focus,
.form--comment textarea:focus,
.form--comment input[type="text"]:focus-visible,
.form--comment input[type="email"]:focus-visible,
.form--comment input[type="url"]:focus-visible,
.form--comment textarea:focus-visible {
  outline: 2px solid hsl(var(--primary)/1);
  outline-offset: 1px;
  border-color: hsl(var(--primary)/1);
  background-color: hsl(var(--body-bg)/1);
}
.form--comment textarea {
  min-height: 8rem;
  resize: vertical;
  line-height: 1.5;
}
.form--comment .form-check {
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}
.form--comment .form-check label {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875em;
  font-weight: var(--fw-regular);
  cursor: pointer;
  margin-block-end: 0;
}
.form--comment .form-check input[type="checkbox"] {
  width: 1em;
  height: 1em;
  accent-color: hsl(var(--primary)/1);
}
.form--comment .required {
  color: hsl(var(--primary)/1);
  margin-inline-start: 0.125em;
}
.form--comment .form-submit {
  flex-direction: row;
  align-items: center;
  gap: 1rem;
  margin-block-start: 0.5rem;
}
.form--comment .btn {
  cursor: pointer;
}
#comments .comment-reply-title {
  margin-block: 1.5rem 1rem;
}
#comments .comment-list {
  list-style: none;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  margin-block-end: 2rem;
}
#comments .comment-list .comment {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  padding: 1rem;
  background: hsl(var(--body-color)/0.04);
  border-radius: 4px;
}
#comments .comment-list .comment-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875em;
}
#comments .comment-list .comment-author img {
  border-radius: 50%;
}
#comments .comment-list .comment-author .fn {
  font-weight: var(--fw-medium);
}
#comments .comment-list .comment-content p {
  margin: 0.25rem 0;
}

/* Share copy-url toast */
.efsyn-share-toast {
    position: fixed;
    bottom: 32px;
    left: 50%;
    transform: translateX(-50%) translateY(20px);
    z-index: 99999;
    padding: 12px 20px;
    font: 600 14px/1.3 "Geologica", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    color: #fff;
    background: #0f172a;
    border-radius: 999px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .35);
    opacity: 0;
    pointer-events: none;
    transition: opacity .22s, transform .22s;
}
.efsyn-share-toast.is-visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
}
.efsyn-share-toast.is-error { background: #a01720; }
[data-copy-link].is-copied { color: #22c55e; }

/* Glomex / generic video embed wrapper — gives the 100%-width iframe a 16:9 box */
.embed-media--video {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9 */
  margin: 1.5em 0;
  background: #000;
}
.embed-media--video > iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.efsyn-gallery {
  display: grid;
/*   gap: 8px;
  margin: 1.5em 0; */
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--gap);
}
/* .efsyn-gallery--cols-1 { grid-template-columns: 1fr; }
.efsyn-gallery--cols-2 { grid-template-columns: repeat(2, 1fr); }
.efsyn-gallery--cols-3 { grid-template-columns: repeat(3, 1fr); }
.efsyn-gallery--cols-4 { grid-template-columns: repeat(4, 1fr); } */
	
.efsyn-gallery__item {
/*   margin: 0; */
/*   border-radius: 6px; */
  position: relative;
  overflow: hidden;
/*   background: hsl(var(--body-color)/0.06); */
}
	
.efsyn-gallery__img {
/*   height: 240px; */
/*   display: block; */
  	width: 100%;
	height: 100%;
  	object-fit: cover;
  	cursor: zoom-in;
/*   transition: transform .35s ease; */
}
.efsyn-gallery__item:hover .efsyn-gallery__img {
/*   transform: scale(1.04); */
}
.efsyn-gallery__caption {
/*   position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 22px 12px 10px;
  color: #fff;
  font-size: 0.78em;
  background: linear-gradient(to top, rgba(0,0,0,.72) 0%, rgba(0,0,0,0) 100%);
  font-style: italic;
  text-align: center;
  pointer-events: none; */
}
.wp-caption {
  max-width: 100%;
}
.wp-caption img {
  max-width: 100%;
  height: auto;
  display: block;
}
.wp-caption .wp-caption-text {
/* 	padding: 10px 4px 0;
	font-size: 0.92em;
	color: hsl(var(--body-color)/0.95);
	text-align: center;
	font-style: italic;
	font-weight: 400;
	line-height: 1.4; 

	font-size: .75em;
	color: hsl(var(--body-light)/1);
	margin-block: .75em;
	border-bottom: 1px solid var(--border-color); */
}
/* @media (max-width: 640px) {
  .efsyn-gallery[class*="efsyn-gallery--cols-"] {
    grid-template-columns: repeat(2, 1fr);
  }
  .efsyn-gallery__img { height: 170px; }
} */






body.admin-bar { --efsyn-admin-bar-h: 32px; }
@media screen and (max-width: 782px) {
  body.admin-bar { --efsyn-admin-bar-h: 46px; }
}

.alignleft, figure.alignleft, .wp-caption.alignleft {
  justify-self: start;
  max-width: 55%;
  margin: 1em 0;
}
.alignright, figure.alignright, .wp-caption.alignright {
  justify-self: end;
  max-width: 55%;
  margin: 1em 0;
}
.aligncenter, figure.aligncenter, .wp-caption.aligncenter {
  justify-self: center;
  max-width: 70%;
  margin: 1.5em auto;
}
.alignnone, figure.alignnone, .wp-caption.alignnone {
  justify-self: stretch;
  margin: 1.5em 0;
}
.alignleft img, figure.alignleft img, .wp-caption.alignleft img,
.alignright img, figure.alignright img, .wp-caption.alignright img,
.aligncenter img, figure.aligncenter img, .wp-caption.aligncenter img {
  width: 100%;
  height: auto;
  display: block;
}
@media (max-width: 640px) {
  .alignleft, figure.alignleft, .wp-caption.alignleft,
  .alignright, figure.alignright, .wp-caption.alignright,
  .aligncenter, figure.aligncenter, .wp-caption.aligncenter {
    justify-self: stretch;
    max-width: 100%;
    margin: 1.5em 0;
  }
}

/* Billboard / ad-wrapper vertical spacing restoration.
 * The 16-Apr dist dropped the generic `.ad-wrapper > * { margin-block: var(--gap) }`
 * and only kept `aside .ad-wrapper:not(:first-child)` — which removed the
 * visible breathing room above/below homepage billboards. Restore the old
 * behavior OUTSIDE asides so billboards keep their gap without re-affecting
 * the new sidebar stack spacing. */
:not(aside) > .ad-wrapper {
  margin-block: var(--gap);
}
article .ad-wrapper {
  margin-block: calc(var(--gap) * 2);
}

/* Anchor absolutely-positioned children (notably `.header-overlay`) to the
 * header element itself so they inherit any vertical offset applied higher
 * up the tree — like the `html { margin-top: 32px }` WP injects for the
 * admin toolbar. Without this, the overlay would compute its top against
 * the viewport and overlap the nav row when the toolbar is visible. */
.header--main:not(.isSticky) {
  position: relative;
}

/* WP admin bar offset for sticky header.
 * When a user is logged in and the admin toolbar renders at the top
 * (32px desktop / 46px mobile), the sticky header's `top: 0` drops it
 * UNDER the toolbar and clips ~32px of the header. Push sticky down by
 * the toolbar height whenever body.admin-bar is present. */
body.admin-bar .header--main.isSticky {
  top: 32px;
  position: fixed;
}
@media (max-width: 782px) {
  body.admin-bar .header--main.isSticky {
    top: 46px;
  }
}

/* The menu/search overlay sits under the header and stretches to fit the
 * rest of the viewport. When the admin bar is present, that "rest" is 32px
 * (or 46px on narrow screens) shorter, so subtract the toolbar height. */
body.admin-bar .header-overlay {
  max-height: calc(100dvh - var(--header-height) - 32px);
}
@media (max-width: 782px) {
  body.admin-bar .header-overlay {
    max-height: calc(100dvh - var(--header-height--sticky) - 46px);
  }
}
body.admin-bar .header--main.isSticky .header-overlay {
  max-height: calc(100dvh - var(--header-height--sticky) - 32px);
}
@media (max-width: 782px) {
  body.admin-bar .header--main.isSticky .header-overlay {
    max-height: calc(100dvh - var(--header-height--sticky) - 46px);
  }
}

.article-sub > aside:not(:has(.post-grid)) > .aside-wrapper {
  border-top: 0;
  border-bottom: 0;
  padding-block: 0;
  margin-block: 0;
}
.article-sub > aside > .aside-wrapper > figure {
  margin: 0;
  display: block;
}
.article-sub > aside > .aside-wrapper > figure img,
.article-sub > aside > .aside-wrapper > figure > a > img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--border-radius, 6px);
}
.article-sub > aside > .aside-wrapper > figure figcaption,
.article-sub > aside > .aside-wrapper > figure .wp-caption-text {
  padding: 8px 4px 0;
  font-size: 0.92em;
  font-style: italic;
  color: hsl(var(--body-color)/0.9);
  line-height: 1.4;
  text-align: left;
}
.article-sub > aside > .aside-wrapper > figure.alignleft,
.article-sub > aside > .aside-wrapper > figure.alignright,
.article-sub > aside > .aside-wrapper > figure.aligncenter {
  justify-self: stretch;
  max-width: 100%;
  margin: 0;
}

.article-sub > figure.aligncenter,
.article-sub > .wp-caption.aligncenter,
.article-sub > p:has(> img.aligncenter:only-child) {
  --grid-column: var(--grid-streched);
  justify-self: stretch;
  max-width: 100%;
  margin-block: var(--gap, 1.5em);
}
.article-sub > figure.aligncenter img,
.article-sub > .wp-caption.aligncenter img,
.article-sub > p > img.aligncenter {
  width: 100%;
  height: auto;
  display: block;
  border-radius: var(--border-radius, 6px);
}

@container (width > 64rem) {
  .article-sub:has(> aside:not(:has(.post-grid))) > * + p,
  .article-sub:has(> aside:not(:has(.post-grid))) > * + ul,
  .article-sub:has(> aside:not(:has(.post-grid))) > * + ol {
    margin-block-start: 0;
  }
}

.efsyn-google-cta{display:flex;flex-direction:column;align-items:center;gap:10px;max-width:560px;margin:32px auto 0;padding:14px 16px;border:1px solid #e6e6e6;border-radius:12px;background:#fafafa}
.efsyn-google-cta__text{font-size:14px;line-height:1.4;color:#333;text-align:center}
.efsyn-google-cta__btn{display:inline-flex;align-items:center;gap:14px;padding:12px 18px;max-width:100%;border-radius:999px;background:#fff;border:1px solid #dadce0;color:#1f1f1f;font-size:14px;font-weight:500;line-height:1.35;text-decoration:none;box-shadow:0 1px 2px rgba(60,64,67,.06);transition:background .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}
.efsyn-google-cta__btn:hover,.efsyn-google-cta__btn:focus-visible{background:#f8f9fa;border-color:#c6cacd;box-shadow:0 2px 6px rgba(60,64,67,.12);transform:translateY(-1px)}
.efsyn-google-cta__btn span{text-align:center}
.efsyn-google-cta__logo{flex:0 0 1.5em;height:auto}
