*, *::before, *::after {
  box-sizing: border-box;
}
:where(body) {
  margin: 0;
}
:root {
  --font-text: Charter, "Bitstream Charter", "Sitka Text", Cambria, Georgia, serif;
  --font-display: "Iowan Old Style", "Palatino Linotype", Palatino, "URW Palladio L", P052, Georgia, serif;
  --font-meta: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, "Cascadia Code", "Source Code Pro", Menlo, Consolas, monospace;
  --step--2: clamp(0.7378rem, 0.6944rem + 0.1929vi, 0.8681rem);
  --step--1: clamp(0.8854rem, 0.8333rem + 0.2315vi, 1.0417rem);
  --step-0: clamp(1.0625rem, 1rem + 0.2778vi, 1.25rem);
  --step-1: clamp(1.275rem, 1.1446rem + 0.5796vi, 1.6663rem);
  --step-2: clamp(1.53rem, 1.2996rem + 1.0239vi, 2.2211rem);
  --step-3: clamp(1.836rem, 1.4611rem + 1.6663vi, 2.9607rem);
  --step-4: clamp(2.2032rem, 1.622rem + 2.5829vi, 3.9467rem);
  --step-5: clamp(2.6438rem, 1.7715rem + 3.8771vi, 5.2609rem);
  --step-6: clamp(3.1726rem, 1.8925rem + 5.6892vi, 7.0128rem);
  --leading-display: 1.05;
  --leading-heading: 1.15;
  --leading-text: 1.55;
  --leading-meta: 1.4;
  --tracking-display: -0.02em;
  --tracking-heading: -0.01em;
  --tracking-label: 0.08em;
  --measure: 65ch;
  --deck-ink: oklch(96.23% 0.044 88.1);
  --deck-accent: oklch(88% 0.115 72);
  --deck-scrim: oklch(16% 0.05 325.9 / 0.8);
  --deck-glass: oklch(16% 0.05 325.9 / 0.6);
  --deck-glass-backdrop: blur(3rem) saturate(1.6);
  --deck-glass-edge: oklch(100% 0 0 / 0.16);
  --deck-glass-sheen: oklch(100% 0 0 / 0.3);
  --code-bg: oklch(12% 0.015 325.9 / 0.72);
  --code-ink: oklch(96.23% 0.044 88.1);
  --code-edge: oklch(100% 0 0 / 0.1);
  --code-radius: 0.5rem;
  --site-header-size: 3.5rem;
  --reveal-length: 3;
  --reveal-damping: 1;
  --learn-more-duration: 1.8s;
  --reading-speed: 238;
  --page-transition-duration: 0.25s;
  --page-enter-duration: 0.7s;
  --deck-paper-unit: max(1vw, 2vh);
  --deck-paper-shadow:
    calc(var(--deck-paper-unit) * -0.35) calc(var(--deck-paper-unit) * -0.06) calc(var(--deck-paper-unit) * 0.7)
      oklch(12% 0.04 325.9 / 0.45),
    calc(var(--deck-paper-unit) * -1.27) calc(var(--deck-paper-unit) * -0.21) calc(var(--deck-paper-unit) * 2.55)
      oklch(12% 0.04 325.9 / 0.35);
  --deck-glass-radius: 1.5rem;
  --rhythm: calc(var(--step-0) * var(--leading-text));
}
@media (prefers-reduced-motion: no-preference) {
  @view-transition {
    navigation: auto;
  }
}
:root.page-leaving [data-page-content] {
  view-transition-name: content;
}
::view-transition-group(*) {
  animation-duration: var(--page-transition-duration);
}
::view-transition-old(root),
::view-transition-new(root) {
  animation: none;
}
::view-transition-old(waves),
::view-transition-old(waves-paper) {
  animation: none;
}
::view-transition-new(waves),
::view-transition-new(waves-paper) {
  animation: none;
  opacity: 0;
}
::view-transition-old(content) {
  animation: var(--page-transition-duration) ease-out both page-fade-out;
}
@keyframes page-fade-out {
  to {
    opacity: 0;
  }
}
:where(body) {
  font-family: var(--font-text);
  font-size: var(--step-0);
  line-height: var(--leading-text);
  font-kerning: normal;
  font-variant-numeric: oldstyle-nums proportional-nums;
  overflow-wrap: break-word;
}
:where(p, ul, ol, dl, blockquote, pre, figure, table) {
  margin-block: 0 var(--rhythm);
}
:where(p, li, dd, blockquote, figcaption) {
  text-wrap: pretty;
}
:where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--font-display);
  font-weight: 600;
  line-height: var(--leading-heading);
  letter-spacing: var(--tracking-heading);
  font-variant-numeric: lining-nums;
  text-wrap: balance;
  margin-block: calc(var(--rhythm) * 1.5) calc(var(--rhythm) * 0.5);
}
:where(h1) {
  font-size: var(--step-5);
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  margin-block-start: 0;
}
:where(h2) {
  font-size: var(--step-4);
}
:where(h3) {
  font-size: var(--step-2);
}
:where(h4) {
  font-size: var(--step-1);
}
:where(h5, h6) {
  font-size: var(--step-0);
  letter-spacing: 0;
}
:where(small, figcaption) {
  font-family: var(--font-meta);
  font-size: var(--step--1);
  line-height: var(--leading-meta);
}
:where(code, kbd, samp, pre) {
  font-family: var(--font-mono);
  font-size: 0.875em;
  font-variant-numeric: lining-nums tabular-nums;
}
:where(pre) {
  line-height: var(--leading-meta);
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}
:where(pre) {
  padding: 1em 1.25em;
  border: 1px solid var(--code-edge);
  border-radius: var(--code-radius);
  background: var(--code-bg);
  color: var(--code-ink);
}
:where(:not(pre) > code, kbd, samp) {
  padding: 0.1em 0.35em;
  border-radius: calc(var(--code-radius) * 0.5);
  background: var(--code-bg);
  color: var(--code-ink);
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
:where(pre code) {
  font-size: inherit;
}
:where(blockquote) {
  margin-inline: 0;
  font-style: italic;
}
.t-display {
  font-family: var(--font-display);
  font-size: var(--step-6);
  font-weight: 600;
  line-height: var(--leading-display);
  letter-spacing: var(--tracking-display);
  text-wrap: balance;
}
.t-kicker {
  font-family: var(--font-meta);
  font-size: var(--step--1);
  font-weight: 600;
  line-height: var(--leading-meta);
  letter-spacing: var(--tracking-label);
  text-transform: uppercase;
}
.t-standfirst {
  font-family: var(--font-text);
  font-size: var(--step-1);
  line-height: 1.4;
  text-wrap: pretty;
}
.t-pullquote {
  font-family: var(--font-display);
  font-size: var(--step-3);
  font-style: italic;
  line-height: var(--leading-heading);
  text-wrap: balance;
}
.t-byline {
  font-family: var(--font-meta);
  font-size: var(--step--1);
  line-height: var(--leading-meta);
}
.t-fineprint {
  font-family: var(--font-meta);
  font-size: var(--step--2);
  line-height: var(--leading-meta);
}
.t-measure {
  max-inline-size: var(--measure);
}