* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

:where(html, body, div, span, button, input, select, textarea, object, iframe, h1, h2, h3, h4, h5, h6, hr, p, blockquote, pre, a, abbr, acronym, address, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, svg, main, menu, nav, section, summary, time, mark, audio, video) {
  vertical-align: baseline;
  background: none;
  border: 0;
  min-width: 0;
  margin: 0;
  padding: 0;
}

:root {
  --color-background: var(--color-white);
  --color-text: var(--color-black);
  --color-accent-text: var(--color-text);
  --color-accent-background: var(--color-background);
  --color-link-text: var(--color-text);
  --color-white: #f2eee9;
  --color-black: oklch(23.949% .03198 252.909);
  --color-true-white: #fff;
  --color-true-black: #0a0a0a;
  --color-yellow: #f3b358;
  --color-red: #ce8598;
  --color-green: #47c49a;
  --color-purple: #d3d3e6;
  --color-blue-1: #b4e4f2;
  --color-blue-2: #7f9ab7;
  --color-blue-3: #336799;
}

section:not([data-theme]) {
  --color-accent-text: var(--color-yellow);
}

[data-theme] {
  background-color: var(--color-background, transparent);
  color: var(--color-text, currentColor);
}

[data-theme="yellow-black"] {
  --color-text: var(--color-black);
  --color-accent-text: var(--color-white);
  --color-background: var(--color-yellow);
}

[data-theme="red-black"] {
  --color-text: var(--color-black);
  --color-accent-text: var(--color-white);
  --color-background: var(--color-red);
  --color-accent-text-alt: var(--color-blue-1);
}

[data-theme="green-black"] {
  --color-text: var(--color-black);
  --color-accent-text: var(--color-white);
  --color-background: var(--color-green);
}

[data-theme="blue2-white"] {
  --color-text: var(--color-white);
  --color-accent-text: var(--color-white);
  --color-background: var(--color-blue-2);
}

[data-theme="blue2-black"] {
  --color-text: var(--color-black);
  --color-accent-text: var(--color-black);
  --color-background: var(--color-blue-2);
}

[data-theme="blue1-blue3"] {
  --color-background: var(--color-blue-1);
  --color-text: var(--color-black);
  --color-accent-text: var(--color-white);
}

[data-theme="blue3-blue1"] {
  --color-text: var(--color-blue-1);
  --color-background: var(--color-blue-3);
}

[data-theme="black-white"] {
  --color-text: var(--color-white);
  --color-background: var(--color-black);
  --color-accent-text: var(--color-white);
}

[data-theme="white-black"] {
  --color-text: var(--color-black);
  --color-background: var(--color-white);
}

[data-theme="purple-black"] {
  --color-background: var(--color-purple);
  --color-text: var(--color-black);
}

:root {
  --size-4xs: clamp(0rem, 0rem + 0vw, 0rem);
  --size-3xs: clamp(.25rem, .2262rem + .119vw, .375rem);
  --size-2xs: clamp(.5rem, .4643rem + .1786vw, .6875rem);
  --size-xs: clamp(.75rem, .6905rem + .2976vw, 1.0625rem);
  --size-s: clamp(1rem, .9286rem + .3571vw, 1.375rem);
  --size-m: clamp(1.5rem, 1.3929rem + .5357vw, 2.0625rem);
  --size-l: clamp(1.75rem, 1.619rem + .6548vw, 2.4375rem);
  --size-xl: clamp(2.5rem, 2.3214rem + .8929vw, 3.4375rem);
  --size-2xl: clamp(3rem, 2.7857rem + 1.0714vw, 4.125rem);
  --size-3xl: clamp(4rem, 3.7143rem + 1.4286vw, 5.5rem);
  --size-4xl: clamp(6rem, 5.5714rem + 2.1429vw, 8.25rem);
  --size-4xs-3xs: clamp(0rem, -.0714rem + .3571vw, .375rem);
  --size-3xs-2xs: clamp(.25rem, .1667rem + .4167vw, .6875rem);
  --size-2xs-xs: clamp(.5rem, .3929rem + .5357vw, 1.0625rem);
  --size-xs-s: clamp(.75rem, .631rem + .5952vw, 1.375rem);
  --size-s-m: clamp(1rem, .7976rem + 1.0119vw, 2.0625rem);
  --size-m-l: clamp(1.5rem, 1.3214rem + .8929vw, 2.4375rem);
  --size-l-xl: clamp(1.75rem, 1.4286rem + 1.6071vw, 3.4375rem);
  --size-xl-2xl: clamp(2.5rem, 2.1905rem + 1.5476vw, 4.125rem);
  --size-2xl-3xl: clamp(3rem, 2.5238rem + 2.381vw, 5.5rem);
  --size-3xl-4xl: clamp(4rem, 3.1905rem + 4.0476vw, 8.25rem);
  --size-xl-l: clamp(2.4375rem, 2.5119rem + -.0595vw, 2.5rem);
  --size-m-xl: clamp(1.5rem, 1.131rem + 1.8452vw, 3.4375rem);
  --size-m-2xl: clamp(1.5rem, 1rem + 2.5vw, 4.125rem);
  --size-3xs-l: clamp(.25rem, -.1667rem + 2.0833vw, 2.4375rem);
  --size-4xs-2xl: clamp(0rem, -.7857rem + 3.9286vw, 4.125rem);
  --size-4xs-3xl: clamp(0rem, -1.0476rem + 5.2381vw, 5.5rem);
  --size-4xs-4xl: clamp(0rem, -1.5714rem + 7.8571vw, 8.25rem);
  --size-m-4xl: clamp(1.5rem, .2143rem + 6.4286vw, 8.25rem);
  --size-xl-3xl: clamp(2.5rem, 1.9286rem + 2.8571vw, 5.5rem);
  --size-xs-l: clamp(.75rem, .4286rem + 1.6071vw, 2.4375rem);
  --size-s-2xl: clamp(1rem, .4048rem + 2.9762vw, 4.125rem);
  --size-m-2xs: clamp(.6875rem, 1.6548rem + -.7738vw, 1.5rem);
  --size-xl-4xl: clamp(2.5rem, 1.4048rem + 5.4762vw, 8.25rem);
  --size-l-2xl: clamp(1.75rem, 1.2976rem + 2.2619vw, 4.125rem);
  --font-primary: "Primary", system-ui, sans-serif;
  --font-secondary: "Secondary", system-ui, sans-serif;
  --font-size: clamp(.6em, .6em + 1vw, 1em);
  --font-weight: 400;
  --line-height: 142%;
}

@font-face {
  font-family: Primary;
  font-style: normal;
  font-weight: 400;
  font-display: fallback;
  src: url("/assets/fonts/parkinsans/parkinsans-regular.woff2") format("woff2");
}

@font-face {
  font-family: Primary;
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("/assets/fonts/parkinsans/parkinsans-medium.woff2") format("woff2");
}

@font-face {
  font-family: Primary;
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/assets/fonts/parkinsans/parkinsans-semibold.woff2") format("woff2");
}

@font-face {
  font-family: Primary;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/parkinsans/parkinsans-bold.woff2") format("woff2");
}

@font-face {
  font-family: Secondary;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/assets/fonts/valizas/valizas-bold.woff2") format("woff2");
}

@media (prefers-reduced-motion: no-preference) {
  :root {
    view-transition-name: root;
  }

  @view-transition {
    navigation: auto;
  }

  ::view-transition-group(root) {
    animation-duration: .5s;
    animation-delay: .25s;
  }
}

:root {
  --transition-link: .55s cubic-bezier(.075, .82, .165, 1);
}

html {
  interpolate-size: allow-keywords;
  background: var(--color-white);
  color: var(--color-black);
  tab-size: 2;
  scrollbar-gutter: stable;
  word-break: break-word;
  container-type: inline-size;
}

body {
  scroll-behavior: smooth;
  background: url("/assets/images/noise.svg");
  grid-template-columns: min(100%, 140ch);
  justify-content: center;
  display: grid;
}

:where(a, [data-type*="link"]) {
  color: var(--color-text, currentColor);
  text-underline-offset: .2ch;
  text-decoration: underline .12ch;
  text-decoration-color: oklch(from currentColor l c h / 50%);
  transition: color var(--transition-link);
}

ul, ol, dl {
  list-style-position: inside;

  & ul, & ol, & dl {
    padding-inline-start: 2ch;
  }
}

:where(ul) {
  flex-flow: column wrap;
  gap: 1lh;
  list-style-type: none;
  display: flex;
}

menu {
  flex-flow: column wrap;
  list-style-type: none;
  display: flex;

  & li {
    line-height: 170%;
  }

  & a {
    text-decoration: none;
  }
}

img, video, iframe, svg {
  border-style: none;
  block-size: auto;
  max-inline-size: 100%;
  display: block;
}

figcaption {
  contain: inline-size;
  font-size: 90%;
}

input, select, textarea, button {
  font: inherit;
}

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"]) {
  color: canvas;
  background: canvastext;
  border: 1px solid #0000;
}

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;
}

pre {
  white-space: pre-wrap;
  color: canvas;
  background: canvastext;
  padding: 1.5rem;
}

svg {
  fill: currentColor;
}

[aria-disabled="true" i], [disabled] {
  cursor: not-allowed;
}

[disabled], label:has(input[disabled]) {
  opacity: .5;

  & [disabled] {
    opacity: 1;
  }
}

hr {
  color: inherit;
  border-style: solid;
  border-width: 1px 0 0;
  height: 0;
  margin-block: 2.5rem;
  overflow: visible;
}

:target {
  scroll-margin: 3rlh;
}

table {
  caption-side: bottom;
  border-collapse: collapse;

  & td {
    font-size: 90%;
  }

  & td, & th {
    word-break: normal;
    border: 1px solid gray;
    padding: .5rem;
  }
}

[role="region"][aria-labelledby][tabindex] {
  overflow: auto;
}

caption {
  font-size: 90%;
}

[hidden] {
  display: none !important;
}

.screenreader-only:not(:focus):not(:active) {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
  width: 1px;
  height: 1px;
  position: absolute;
  overflow: hidden;
}

:focus-visible {
  outline-offset: 2px;
}

abbr {
  text-decoration: none;
}

strong {
  font-weight: 600;
}

sub, sup {
  vertical-align: baseline;
  font-size: 75%;
  line-height: 0;
  position: relative;
}

sub {
  inset-block-end: -.25em;
}

sup {
  inset-block-start: -.5em;
}

::selection {
  background: var(--color-blue-3);
  color: var(--color-white);
}

body {
  font-family: var(--font-primary);
  font-size: var(--font-size);
  font-weight: var(--font-weight);
  font-kerning: normal;
  font-variant-ligatures: common-ligatures no-discretionary-ligatures no-historical-ligatures contextual;
  font-variant-numeric: slashed-zero;
  hanging-punctuation: first allow-end last;
  line-height: var(--line-height);
  text-size-adjust: none;
  text-decoration-skip-ink: auto;
  text-rendering: optimizespeed;
}

p, li, dd {
  text-wrap: pretty;
  max-inline-size: 88ch;
}

:where(h1, h2, h3, h4, h5, h6) {
  text-wrap: balance;
  word-wrap: break-word;
  font-size: var(--font-size);
  font-weight: 500;
  font-family: var(--font-secondary);
  margin: 0;
  padding: 0;
}

:where(h1) {
  font-size: var(--font-size);
  font-weight: 600;
  line-height: 110%;
}

:where(h2) {
  font-size: var(--size-xl-3xl);
  font-weight: 700;
  line-height: 110%;

  @media (width >= 1100px) {
    font-size: var(--size-xl);
  }
}

:where(h3) {
  font-size: var(--size-m);
  padding-block-start: .25ch;
  font-weight: 600;
  line-height: 120%;
}

h3 + p {
  padding-block-start: var(--size-s);
}

:where(h4) {
  font-size: var(--size-xs);
  font-weight: 600;
  line-height: 125%;
  font-family: var(--font-primary);
  padding-block: .75lh .25lh;
}

main {
  --space-inline: var(--size-m-l);
  --space-block: var(--size-m);
  grid-template-columns: [full-start] var(--space-inline)
    [content-start half-1-start half-2-start third-1-start third-2-start third-3-start]
    repeat(12, 1fr)
    [half-1-end half-2-end third-1-end third-2-end third-3-end content-end]
    var(--space-inline) [full-end];
  row-gap: var(--size-xl-2xl);
  display: grid;

  @media (width >= 700px) {
    grid-template-columns: [full-start] var(--space-inline)
      [content-start half-1-start third-1-start third-2-start third-3-start]
      repeat(12, 1fr)
      [half-1-end]
      .5fr .5fr
      [half-2-start]
      repeat(12, 1fr)
      [half-2-end third-1-end third-2-end third-3-end content-end]
      var(--space-inline) [full-end];
  }

  @media (width >= 1100px) {
    grid-template-columns: [full-start] var(--space-inline)
      [content-start half-1-start third-1-start]
      repeat(6, 1fr) .5fr .5fr repeat(6, 1fr)
      [third-1-end]
      .5fr .5fr
      [third-2-start]
      repeat(6, 1fr)
      [half-1-end]
      .5fr .5fr
      [half-2-start]
      repeat(6, 1fr)
      [third-2-end]
      .5fr .5fr
      [third-3-start]
      repeat(6, 1fr) .5fr .5fr repeat(6, 1fr)
      [third-3-end half-2-end content-end]
      var(--space-inline) [full-end];
  }
}

@media (orientation: landscape) {
  main > section:first-of-type {
    margin-block-start: clamp(5ch, 26dvh, 25ch);
    margin-block-end: max(5ch, 10sdvh);
    display: inline;
  }
}

@media (orientation: portrait) {
  main > section:first-of-type {
    margin-block: max(5ch, 20dvh) max(5ch, 7dvh);
    display: inline;
  }
}

section {
  grid-column: full;
  grid-template-columns: subgrid;
  row-gap: var(--space-block);
  display: grid;
  position: relative;

  & > * {
    grid-column: content;
  }

  &[data-theme] {
    padding-block: var(--size-xl-2xl);
  }

  &[data-theme] + [data-theme] {
    margin-block-start: calc(-1 * var(--size-xl-2xl));
  }

  &[data-bleed] {
    position: relative;

    &:before {
      content: "";
      z-index: -1;
      background: inherit;
      position: absolute;
      inset: 0 calc(50% - 50cqw);
    }
  }

  & > [data-col] {
    gap: var(--space-block);
    flex-direction: column;
    display: flex;
  }

  & > [data-col="1/2:1"] {
    grid-column: half-1;
  }

  & > [data-col="1/2:2"] {
    grid-column: half-2;
  }

  @media (width >= 700px) {
    & > [data-col="2/3:1"] {
      grid-column: half-1;
    }

    & > [data-col="1/3:2"] {
      grid-column: half-2;
    }

    & > [data-col="1/3:1"] {
      grid-column: half-1;
    }

    & > [data-col="2/3:2"] {
      grid-column: half-2;
    }
  }

  @media (700px <= width < 1100px) {
    &:has( > [data-col="1/3:3"]) > [data-col^="1/3:"] {
      grid-column: content;
    }
  }

  @media (width >= 1100px) {
    & > [data-col="1/3:1"] {
      grid-column: third-1;
    }

    & > [data-col="1/3:3"], & > [data-col="1/3:2"] {
      grid-column: third-3;
    }

    &:has( > [data-col="1/3:3"]) > [data-col="1/3:2"] {
      grid-column: third-2;
    }

    & > [data-col="2/3:1"] {
      grid-column: third-1-start / third-2-end;
    }

    & > [data-col="2/3:2"] {
      grid-column: third-2-start / third-3-end;
    }
  }
}

section > :not(div) {
  gap: var(--space-block);
}

[data-pos-v="top"] {
  margin-top: 0;
  margin-bottom: auto;
}

[data-pos-v="center"] {
  margin-block: auto;
}

[data-pos-v="bottom"] {
  align-self: end;
}

[data-pos-h="center"] {
  justify-self: center;
}

[data-pos-h="right"] {
  justify-self: end;
}

[data-content-pos-v="center"] > * {
  margin-block: auto;
}

[data-content-pos-h="center"] > * {
  margin-inline: auto;
}

[data-corner="rounded"] {
  border-radius: .35em;
}

:not(section)[data-theme] {
  padding-inline: var(--space-inline);
  padding-block: var(--space-block);
  border-radius: .75em;

  @media (width >= 700px) {
    width: fit-content;
  }
}

body > footer {
  padding-block-start: var(--size-2xl);
  padding-block-end: var(--size-l);
  padding-inline: var(--size-s-m);
  border-radius: 2ch;
  grid-template-rows: auto;
  grid-template-columns: 1fr;
  place-items: end center;
  row-gap: 1lh;
  display: grid;

  @media (width >= 700px) {
    grid-template-columns: 1fr 2fr 2fr 1fr;
    padding-inline: 0;
  }

  & div {
    grid-row: 1;

    @media (width >= 700px) {
      grid-column: 2 / span 2;
    }
  }

  & menu {
    flex-direction: column;
    gap: 2ch;
    padding-block-end: 3ch;

    @media (width >= 40em) {
      flex-direction: row;
    }

    & a {
      padding-block: var(--size-2xs);
      padding-inline: var(--size-xs);
    }
  }

  & [data-menu-type="pages"] {
    & li {
      text-align: center;
    }

    @media (width >= 700px) {
      grid-column: 2 / -2;
    }
  }

  & figure {
    @media (width >= 700px) {
      grid-column: 2 / -2;
    }

    &[data-uid="alpconv"] {
      width: min(14em, 40vw);
      padding-block: .5ch;
    }
  }

  & [data-menu-type="social"] {
    flex-direction: row;
    gap: 1ch;
    display: flex;
  }
}

nav {
  z-index: 9999;
  width: 100%;
  padding-inline: var(--size-s-m);
  position: fixed;

  & > * {
    width: min(55ch, 80vw);
    margin-inline: auto;
  }

  & summary {
    background: var(--color-black);
    font-size: var(--size-xs);
    text-transform: uppercase;
    color: var(--color-white);
    cursor: pointer;
    border-radius: 2rem;
    justify-content: space-between;
    margin-block-start: 1.5ch;
    display: flex;
    box-shadow: 0 9px 20px #2e235e12;

    &:hover button {
      background-color: var(--color-blue-1);
    }

    @media (width < 450px) {
      max-width: 13ch;
      margin-inline: auto;

      & h1 {
        display: none;
      }

      & * {
        color: var(--color-white) !important;
        background-color: #0000 !important;
      }
    }

    & button {
      -webkit-user-select: none;
      user-select: none;
      pointer-events: none;
      color: var(--color-black);
      background: #fff;
      border-radius: 2rem;
      margin-block: .5ch;
      margin-inline: 2ch .75ch;
      padding-block: 0;
      padding-inline: 2ch;
      font-weight: 600;
      transition: background-color .15s ease-in-out;
    }

    & h1 {
      font-size: var(--size-xs);
      text-transform: none;
      font-family: inherit;
      line-height: inherit;
      -webkit-user-select: none;
      user-select: none;
      padding-block: 1.25ch;
      padding-inline-start: 2.5ch;
    }

    &:active, &:focus {
      background-color: var(--color-black);
      color: var(--color-blue-1);
    }
  }

  & div {
    background: var(--color-white);
    color: var(--color-white);
    border-radius: 2rem;
    width: 41ch;
    padding-block: .5ch;
    padding-inline-start: 2ch;
  }

  & menu {
    gap: 2ch;
    margin: 0;
    padding-block: 2ch;
    padding-inline: 1ch;
    display: flex;
  }

  & h2 {
    font-family: var(--font-primary);
    font-size: var(--size-xs);
    font-weight: 400;
  }

  & a {
    color: currentColor;
    text-decoration: underline;
    text-decoration-color: var(--color-blue-1);
  }

  & details[open] {
    & div {
      background: var(--color-black);
      width: 100%;
      animation: .25s ease-out details-show;
      transform: translateY(1ch);
    }

    & a {
      text-underline-offset: .25ch;
    }

    & a:hover, & [aria-current] {
      color: var(--color-blue-1);
      text-decoration-color: var(--color-blue-2);
    }
  }

  & [aria-current] {
    text-decoration: underline;
  }
}

@keyframes details-show {
  from {
    opacity: 0;
    transform: var(--details-translate, translateY(-.5em));
  }
}

block-button {
  margin-block-start: auto;
  display: block;

  & a {
    color: var(--color-text);
    border-color: var(--color-text);
    border-style: solid;
    border-width: .3ch;
    border-radius: 1.2ch;
    padding-block: 1.2ch;
    padding-inline: 1.2ch;
    font-weight: 600;
    text-decoration: none;
    transition: background-color .15s ease-in-out, color .1s ease-out;
    display: inline-block;

    &:after {
      content: "→";
      padding-inline: .65ch .25ch;
      transition: all .1s ease-in-out;
    }

    &:hover {
      background-color: var(--color-text);
      color: var(--color-background);

      &:after {
        padding-inline: .9ch 0;
      }
    }
  }
}

block-cards {
  --auto-grid-min-size: 30ch;
  --auto-grid-max-columns: 4;
  --auto-grid-gap: var(--size-m);
  --max-column-width: 100% / var(--auto-grid-max-columns, infinity) - var(--auto-grid-gap, 1rem);
  --column-width: max(var(--max-column-width),
    min(var(--auto-grid-min-size, 10rem), 100%));
  padding-inline: var(--size-m);
  padding-block: var(--size-m);
  grid-template-columns: repeat(auto-fit, minmax(var(--column-width), 1fr));
  gap: var(--auto-grid-gap-vertical, var(--auto-grid-gap, 1rem))
       var(--auto-grid-gap, 1rem);
  grid-template-rows: min-content;
  display: grid;
}

block-card {
  padding: var(--size-m);
  color: var(--color-black);
  user-select: none;
  background-color: #fff;
  border-radius: 1ch;
  flex-direction: column;
  justify-content: start;
  padding-block-end: auto;
  display: flex;
}

block-card h3 {
  font-family: var(--font-secondary);
  font-size: var(--size-m);
  line-height: 1.2;
}

block-card p {
  font-size: var(--font-size-s);
}

block-card p ~ p {
  margin-block-start: 1lh;
}

block-card.is-ready {
  transition: transform .15s cubic-bezier(.25, .46, .45, .94), box-shadow .25s ease-in-out;
}

block-card.is-ready:hover {
  background: var(--color-red);
  z-index: 1;
  box-shadow: 0 12px 32px #162d3d26;
  transform: rotate(0) translateY(-6px) scale(1.1) !important;
}

block-collapsible {
  & details {
    border-bottom: 2px solid;

    & summary::-webkit-details-marker, & summary::marker {
      content: "";
      display: none;
    }

    & summary {
      cursor: pointer;
      -webkit-user-select: none;
      user-select: none;
      list-style-type: none;

      & h3 {
        padding-block: .3lh;
      }
    }

    &[open] {
      padding-block: .5lh 1lh;
      transition: padding .25s ease-in-out;

      & h3 {
        padding-block-end: .5lh;
      }
    }
  }
}

block-heading {
  & u {
    color: var(--color-accent-text, currentColor);
    text-decoration: none;
  }
}

block-list, block-quote {
  display: block;
}

block-image {
  & figure[style*="aspect-ratio"] {
    & img {
      object-fit: cover;
      width: 100%;
      height: 100%;
    }
  }

  & img {
    width: 100%;
    height: auto;
  }
}

block-text {
  width: min(30ch, auto);

  & p {
    text-wrap: pretty;
    max-width: 65ch;
    margin: 0;
  }

  & p + p {
    margin-block-start: .5lh;
  }

  & u {
    color: var(--color-accent-text, currentColor);
    text-decoration: none;
  }

  & p + h3 {
    margin-block-start: 1lh;
  }

  &[data-font-size="smaller"] {
    font-size: var(--size-xs);
  }

  &[data-font-size="larger"] {
    font-size: var(--size-s);
    font-weight: 600;
    line-height: 125%;
  }
}

block-video {
  display: block;

  &:not(.is-playing) {
    cursor: pointer;
  }

  & details summary {
    list-style-type: none;
  }

  & video-player {
    aspect-ratio: 16 / 9;
    width: 100%;
    max-width: 120ch;
    margin-inline: auto;
    display: block;
    position: relative;
    overflow: clip;
  }

  & .play-icon {
    z-index: 1;
    pointer-events: none;
    width: clamp(4rem, 5vw, 8rem);
    height: clamp(4rem, 5vw, 8rem);
    transition: scale .25s ease-in-out;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    scale: 1.25;
  }

  &:hover .play-icon {
    scale: 1.1;
  }

  & footer {
    padding-block: 1lh 0;

    & p + p {
      padding-block-start: .5lh;
    }
  }
}

@keyframes rotate {
  to {
    transform: rotate(1turn);
  }
}

/*# sourceMappingURL=site.min.css.map */
