:root {
  --cursive: 'Segoe Print', 'Bradley Hand', Chilanka, TSCu_Comic, casual, cursive;
  --serif: Charter, 'Bitstream Charter', 'Sitka Text', Cambria, serif;
  --rounded: ui-rounded, 'Hiragino Maru Gothic ProN', Quicksand, Comfortaa, Manjari, 'Arial Rounded MT', 'Arial Rounded MT Bold', Calibri, source-sans-pro, sans-serif;
  --sans: Seravek, 'Gill Sans Nova', Ubuntu, Calibri, 'DejaVu Sans', source-sans-pro, sans-serif;
  --monospace: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Consolas, 'DejaVu Sans Mono', monospace;

  --sidebar: clamp(5rem, calc(2.5rem + 4vw), 7.5rem);
  --main: clamp(31.25rem, calc(0rem + 50vw), 62.5rem);
  --narrow: clamp(30rem, calc(24.643rem + 14.286vw), 37.5rem);
  --viewport: 120rem;

  --size-02-04: clamp(0.125rem, calc(0rem + 0.2vw), 0.25rem);
  --size-03-06: clamp(0.188rem, calc(0.054rem + 0.357vw), 0.375rem);
  --size-05-10: clamp(0.313rem, calc(0rem + 0.5vw), 0.625rem);
  --size-10-20: clamp(0.625rem, calc(0rem + 1vw), 1.25rem);
  --size-10-40: clamp(0.625rem, calc(-1.25rem + 3vw), 2.5rem);
  --size-12-14: clamp(0.75rem, calc(0.625rem + 0.2vw), 0.875rem);
  --size-13-16: clamp(0.813rem, calc(0.625rem + 0.3vw), 1rem);
  --size-15-18: clamp(0.938rem, calc(0.804rem + 0.357vw), 1.125rem);
  --size-15-30: clamp(0.938rem, calc(0rem + 1.5vw), 1.875rem);
  --size-16-20: clamp(1rem, calc(0.75rem + 0.4vw), 1.25rem);
  --size-20-24: clamp(1.25rem, calc(1rem + 0.4vw), 1.5rem);
  --size-20-30: clamp(1.25rem, calc(0.625rem + 1vw), 1.875rem);
  --size-20-40: clamp(1.25rem, calc(0rem + 2vw), 2.5rem);
  --size-24-40: clamp(1.5rem, calc(0.5rem + 1.6vw), 2.5rem);
  --size-30-40: clamp(1.875rem, calc(1.25rem + 1vw), 2.5rem);
  --size-30-60: clamp(1.875rem, calc(0rem + 3vw), 3.75rem);
  --size-40-60: clamp(2.5rem, calc(1.25rem + 2vw), 3.75rem);
  --size-50-100: clamp(3.125rem, calc(0rem + 5vw), 6.25rem);
  --size-60-100: clamp(3.75rem, calc(1.25rem + 4vw), 6.25rem);
  --size-60-120: clamp(3.75rem, calc(0rem + 6vw), 7.5rem);
  --min-block-size: 45px;

  --color-alpha: #63f2c5;
  --color-alpha-op0: #63f2c500;
  --color-alpha-op33: #63f2c554;
  --color-beta: #ff3366;
  --color-gamma: #043A73;
  --color-gamma-op50: #04397180;
  --color-gamma-op06: #0439710f;
  --color-dark: #000;
  --color-light: #fff;

  --timing100: 111ms;
  --timing200: 222ms;
  --timing5000: 5555ms;

  --bg-size: 44px;
  --bg-light: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMoAAADFCAMAAAAi7Z1PAAAAb1BMVEUAAAD///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////8v0wLRAAAAJXRSTlMAAgMFBwgKCwwNDg8QERITFBUXGBocHR8hIiQmJykrLjEzNDg6NHqQLQAAHABJREFUeNrdXWtjozqSBSvA5ZomhhaRUfDM3Z39/79xjVQlVekFTqfvzqy/dCcxoKNHSdQ5Oqqq6CO6YZql+UxT39XVv8WnboZ3V6rhRKm692V7BB+9DIJ/a5zSn2HoOnG2bKLph+E9faMxgPEudViqTb03BeBTdAF+1EC/mP2a+dyXoTlA8S7vW+kWmn67V9mvDSIDBO6+fczj0Lf759nT1IaXnYVivi2zaLp5O76cANHYCr5UoyvVY0qA6ewlaoz+1oz2T1IQKFrGnw+lVl9M1SWB+CretFKJu+x9yUER9uvqFtVMc7V/0n34l5u5+S0zmlpprhIeisz20nb8ADwyqhUo2bPhxzY7cKWH0phKVG2mn0rbMAkkSuDYl8tdPz93Nb9D3V73m342x1AI9IcO6tKWbFva4sUeitjrRMO3m0SpxEeEZfS/6eQWdnuDUKy+XQBK0wUfUQc19smwNObOM/mSCG/RUChiR34XyQG2yc63AQl4wiHpktHCgLnsWBSFopLhC2us1QEWVsfPqJ8KHopC2e9/r13lR7FBIJZP35NXRHIDxGNjWwL7vekpl/3ZwwEU2o7797Vrg1q7x7tgWYQy4Pe7LV0qW+bZ1TBeA730+b8rG5C1GSWPvapb/B6BosmHlG9yWH7ijWaHhAChl+sAyv7z3oZ9KiLZUklsiI40isA2uSEEgT3fNK9pw/0/fzIoOhe+TBdv9v81pBPvvxR31/RBENMMygBFNf3yow5LZUs7QQ1Ds7R4zf63q+0Adgra1FBja+1ffoN/s1BIhZmetT9ucXHJPFjoRNOnoCiAvmLt1+9YqnfTuFfsLco1iyS/MbFgYmsDHPH4lfoICob2/cLNXmDryaCTQcjJQRFwC9f7ezq+TAf+AV/Z22J2czdpnNp2gOdUbEPMSNpwsD9z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);
  --bg-dark: url(data:image/png;base64,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);

  /* https://scrollbar.app/ */
  --sb-track-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 80%);
  --sb-thumb-color: var(--color-alpha);
  --sb-size: 12px;
}

@supports (color: oklch(0.87 0.14 169.13 / 1)) {
  :root {
    --color-alpha: oklch(0.87 0.14 169.13 / 1);
    --color-alpha-op0: oklch(0.87 0.14 169.13 / 0);
    --color-beta: oklch(0.66 0.23 13.34 / 1);
    --color-gamma: oklch(0.35 0.11 254.86 / 1);
    --color-dark: oklch(0 0 0 / 1);
    --color-light: oklch(1 0 0 / 1);
  }
}

@view-transition {
  navigation: auto;
}

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

html {
  scroll-behavior: smooth;
}

body::-webkit-scrollbar,
.table-wrapper::-webkit-scrollbar,
.copy pre[class*="language-"]::-webkit-scrollbar {
  width: var(--sb-size)
}

body::-webkit-scrollbar-track,
.table-wrapper::-webkit-scrollbar-track,
.copy pre[class*="language-"]::-webkit-scrollbar-track {
  background-color: var(--sb-track-color);
}

body::-webkit-scrollbar-thumb,
.table-wrapper::-webkit-scrollbar-thumb,
.copy pre[class*="language-"]::-webkit-scrollbar-thumb {
  background-color: var(--sb-thumb-color);
  border: 1px solid #043a73;
}

body::-webkit-scrollbar-thumb {
  border-radius: var(--sb-size);
}

@supports not selector(::-webkit-scrollbar) {
  body,
  .table-wrapper,
  .copy pre[class*="language-"] {
    scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);
  }
}

::selection {
  background-color: color-mix(in srgb, var(--color-gamma), transparent 90%);
}

/*https://pqina.nl/blog/fix-google-mobile-usability-issues/*/
:where(body, iframe, pre, img, svg, video, canvas, select) {
  max-inline-size: 100%;
  overflow: auto;
  word-break: break-word;
}

:where(h1, h2, h3, h4, h5, h6) {
  font-family: var(--serif);
  line-height: 1.2;
}

:where(h1, h2, h3, h4, h5, h6):has(a) {
  display: inline-flex;
  place-self: start;
}

:where(label, input, textarea, button, [class*="cta"], [class*="link"]) {
  font-family: var(--rounded);
}

:where(label, button, [class*="cta"], [class*="link"]) {
  cursor: pointer;
}

img {
  display: block;
  block-size: auto;
}

:where(a, input, textarea, button) {
  color: inherit;
  outline-color: transparent;
  outline-offset: .15em;
  outline-style: solid;
  outline-width: max(2px, 0.075em);
  transition: all var(--timing200);
}

:where(a) {
  text-underline-offset: 0.15em;
  text-decoration-thickness: max(1px, 0.05em);
}

:where(a):is(:hover, :focus, :active) {
  text-underline-offset: 0.075em;
}

/* https://css-tricks.com/cool-hover-effects-using-background-properties/ */
:where(main a:not([class]), .fancy-hover) {
  background-image: linear-gradient(var(--link-color, var(--color-alpha-op33)) 0 0);
  background-position: right;
  background-repeat: no-repeat;
  background-size: var(--p, 0%);
  border-radius: .25em;
  transition: var(--timing200), background-position 0s;
}

.content a:not([class]):not([href^="/gfx/"]):is([href^="/"]):after {
    content: "";
    display: inline-block;
    width: 1ch;
    height: 1ch;
    background-image: url(/gfx/svg/logo-SB-12E09F-000.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: 95%;
    margin-left: 0.1em;
    vertical-align: super;
}

:where(main a:not([class]), .fancy-hover):is(:hover, :focus, :active) {
  --p: 100%;
  background-position: left;
}

:where(a, button):focus-visible,
:where([class*="cta"], [class*="link"]):is(:hover, :focus, :active) {
  outline-color: currentColor;
}

.sr-only {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  block-size: 1px;
  inline-size: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

body {
  color: var(--color-gamma);
  font-family: var(--sans);
  line-height: 1.4;
  min-block-size: 100dvh;
  padding: var(--size-10-20);
}

[class*="cta"] {
  background-image: linear-gradient(to right, var(--color-alpha) 40%, var(--color-light) 400%);
  color: var(--color-gamma);
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: var(--size-10-20);
  font-size: var(--size-20-30);
  text-decoration: none;
  padding-block: var(--size-10-20);
  padding-inline: var(--size-20-40);
  border-radius: var(--size-30-60);
  border: var(--size-02-04) solid var(--color-gamma);
  position: relative;
}

[class*="cta--small"] {
  font-size: var(--size-16-20);
  gap: var(--size-05-10);
  padding-block: var(--size-05-10);
}

[class*="cta--tiny"] {
  font-size: var(--size-12-14);
  gap: var(--size-05-10);
  padding-block: var(--size-02-04);
}

[class*="cta--inverse"] {
  background-image: linear-gradient(to right, var(--color-gamma) 50%, var(--color-alpha) 1000%);
  color: var(--color-alpha);
}

[class*="cta--converse"] {
  background-image: linear-gradient(to left, transparent -100%, var(--color-gamma) 2000%);
  color: var(--color-gamma);
}

[class*="cta"]:after {
  content: '››››';
  transform: translateY(calc(var(--size-02-04) * -1));
  transform-origin: left center;
  transition: inherit;
}

:where([class*="cta"], [class*="__input"]):is(:hover, :focus, :active) {
  /* box-shadow: 0 0 0 0.075em var(--color-gamma); */
  outline-color: var(--color-gamma);
}

[class*="cta"]:is(:hover, :focus, :active):after {
  transform: translateX(var(--size-02-04)) translateY(calc(var(--size-02-04) * -1)) scale(110%);
}

[class*="avatar"] img {
  background-color: var(--color-light);
  border: .15em solid currentColor;
  border-radius: 50%;
  transition: var(--timing100);
}

blockquote {
  padding-inline-start: var(--size-10-20);
  position: relative;
}

.testimonials blockquote {
  padding-inline-start: var(--size-30-60);
}

blockquote p {
  font-size: var(--size-16-20);
}

blockquote p:not(:first-of-type) {
  margin-block-start: var(--size-05-10);
}

.wrapper {
  display: grid;
  gap: var(--size-10-20);
  max-inline-size: var(--viewport);
  margin-inline: auto;
}

.header {
  --logo-size: 98px;
  grid-area: header;
  display: grid;
  gap: var(--size-10-20);
  position: relative;
}

.skip {
  background-color: var(--color-gamma);
  color: var(--color-light);
  font-size: var(--size-20-30);
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 100dvw;
  z-index: 1;
}

.skip:not(:focus) {
  display: block;
  block-size: 1px;
  inline-size: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px);
  white-space: nowrap;
  position: absolute;
  z-index: -1;
}

.header__nav {
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
  background-position: center;
  padding: var(--size-05-10);
}

.header__nav--alpha {
  background-image: var(--bg-light), linear-gradient(to right, var(--color-alpha) -50%, transparent 150%);
}

.header__nav--beta {
  grid-area: links;
  background-image: var(--bg-light), linear-gradient(to right, var(--color-gamma) -1000%, transparent 150%);
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
  background-position: center;
}

.header__list {
  display: flex;
  list-style: none;
}

.header__list--alpha {
  font-size: var(--size-16-20);
}

.header__list--beta {
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--size-05-10);
  font-size: var(--size-13-16);
}

.header__item--alpha {
  margin-inline-end: auto;
}

.header__link {
  text-decoration: none;
  display: block;
}

.header__link--alpha {
  display: flex;
  align-items: center;
  gap: var(--size-05-10);
  border-radius: var(--size-50-100);
}

.header__link--beta {
  background-color: var(--color-light);
  outline-offset: 0;
}

.header__link--alpha svg {
  background-color: var(--color-light);
  block-size: var(--logo-size);
  inline-size: var(--logo-size);
  border: 1px solid currentColor;
}

.header__link--alpha span {
  font-family: var(--rounded);
  font-size: var(--size-15-18);
  font-weight: 700;
  line-height: 1.3;
}

.header__link--alpha svg,
.footer__logo {
  border-radius: 50%;
  overflow: hidden;
}

.footer__logo {
  max-inline-size: var(--size-60-120);
  margin-inline: auto;
}

.header__link--beta,
.header__link--gamma {
  line-height: 1;
  padding-block: var(--size-05-10);
  padding-inline: var(--size-10-20);
}

.header__link--beta {
  border-radius: var(--size-30-60);
}

.footer {
  grid-area: sidebar;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: end;
}

.footer p a {
  border-radius: 0.25em;
}

.footer__inner {
  display: grid;
  gap: var(--size-10-20);
  padding: var(--size-05-10);
}

.footer__content {
  display: flex;
  justify-content: center;
}

.footer__logo:is(:hover, :focus, :active) {
  outline-color: var(--color-light);
}

.footer__social {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-03-06);
  margin: unset;
  padding-block-start: var(--size-10-20);
  padding-inline: unset;
  list-style: none;
}

.footer__social :is(a, svg) {
  display: block;
  border-radius: 100dvw;
}

.footer__social svg {
  stroke: var(--color-gamma);
  block-size: 2rem;
  inline-size: 2rem;
  transition: var(--timing200);
}

.footer__social a:is(:hover, :focus, :active) svg {
  background-color: var(--color-alpha);
}

.main {
  background-color: var(--color-light);
  background-clip: padding-box;
  grid-area: main;
  display: grid;
  grid-auto-flow: dense;
  gap: var(--size-50-100);
  place-items: start;
  border-radius: var(--size-30-60);
  border: var(--size-05-10) solid transparent;
}

.hero {
  --max-inline-size: 100%;
  grid-column: 1 / -1;
  display: grid;
  gap: var(--size-10-20);
}

.page--about .hero {
  grid-column: 1;
}

.hero:has(.hero__image) {
  inline-size: 100%;
  gap: var(--size-10-20);
}

.hero__image {
  display: flex;
  align-items: center;
  justify-content: center;
}

.hero__image img {
  max-inline-size: min(var(--main), 100%);
}

.hero__image svg {
  inline-size: 100%;
  block-size: auto;
  border-radius: 50%;
}

.hero__avatar {
  max-inline-size: var(--size-60-120);
}

.hero__title {
  font-size: var(--size-30-60);
  max-inline-size: var(--hero-title-width, 30ch);
}

.hero__text {
  font-size: var(--size-20-40);
  font-weight: 700;
  line-height: 1.3;
  max-inline-size: var(--hero-text-width, 35ch);
  text-wrap: pretty;
}

.hero__text2 {
  font-size: var(--size-20-30);
  max-inline-size: var(--hero-text2-width, 40ch);
  text-wrap: pretty;
}

.hero__text2 p + p {
  margin-block-start: 0.5em;
}

.hero__action {
  margin-block-start: var(--size-10-20);
}

.box {
  grid-column: 1;
  display: grid;
  place-self: stretch;
  gap: var(--size-30-60);
}

.box__anchor {
  display: inline-block;
  border-radius: var(--size-02-04);
  outline-offset: var(--size-02-04);
}

/* :where(.box__subtitle, .box__anchor):is(:hover, :focus, :active) {
  color: var(--color-beta);
} */

.box__anchor:is(:hover, :focus, :active) {
  text-decoration-color: var(--color-beta);
}

.box__link {
  text-decoration: none;
  border-radius: var(--size-02-04);
  outline-offset: var(--size-02-04);
  outline-width: 0.15em;
}

.box__link:has(.box__avatar) {
  border-radius: var(--size-50-100);
}

.box__link:is(:hover, :focus, :active) {
  background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 80%);
}

.box__title {
  font-size: var(--size-30-60);
  position: relative;
  z-index: 1;
  margin-block-start: var(--size-05-10);
}

.box__title:before {
  content: "";
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
  background-position: center;
  background-image: var(--bg-light), linear-gradient(to right, transparent 10%, var(--color-gamma) 1100%);
  position: absolute;
  inset-block: calc(var(--size-05-10) * -1);
  inset-inline: 0;
  border-radius: 0 var(--size-50-100) var(--size-50-100) 0;
  z-index: -1;
}

.box__list {
  list-style: none;
  display: grid;
  place-content: start;
  gap: var(--size-20-40);
}

.box__item {
  display: grid;
  gap: var(--size-05-10);
}

.box__subtitle {
  font-size: var(--size-20-30);
}

.box__text {
  font-size: var(--size-15-18);
}

.box__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--size-05-10);
}

.box__tag,
.box__more {
  color: color-mix(in srgb, var(--color-gamma), var(--color-light) 10%);
  font-family: var(--rounded);
  font-size: 1rem;
}

.box__tag--omega {
  color: var(--color-dark);
  text-decoration-style: wavy;
}

.box__grid {
  display: grid;
  place-items: start;
  column-gap: var(--size-10-20);
  row-gap: var(--size-20-40);
}

.box__grid--alpha {
  grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
  place-items: center;
  align-items: start;
}

.box__grid .box__tags {
  justify-content: center;
}

.box__panel {
  text-align: center;
}

.box__panel img {
  filter: drop-shadow(0 var(--size-02-04) var(--size-05-10) var(--color-alpha-op0));
  transition: var(--timing200);
}

.box__panel:is(:hover, :focus, :active) img {
  filter: drop-shadow(0 var(--size-02-04) var(--size-05-10) var(--color-alpha));
  transform: scale(102%);
}

.box__action {
  margin-inline: auto;
}

.box__person {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: var(--size-10-20);
  align-items: center;
  max-inline-size: 30rem;
}

.box__person h3 {
  font-size: var(--size-20-24);
  line-height: 1;
  margin-block-end: var(--size-02-04);
}

.box__person :is(h4, h5) {
  font-family: var(--rounded);
  font-size: var(--size-12-14);
}

.box__quote {
  margin-block-start: var(--size-05-10);
  margin-inline-start: calc(var(--size-60-100) / 2);
}

.box__quote blockquote {
  max-inline-size: max(60ch, 75%);
}

:is(.box__quote, .testimonials) blockquote:before {
  content: '';
  background-image: linear-gradient(var(--color-gamma), var(--color-alpha));
  position: absolute;
  inset-block: 0;
  inset-inline-start: 0;
  inline-size: 0.15em;
  border-radius: var(--size-02-04);
  transform: translate(-50%);
}

.box__avatar {
  max-inline-size: var(--size-60-100);
}

.banner {
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
  background-position: center;
  align-self: start;
  display: grid;
  gap: var(--size-05-10);
  inline-size: 100%;
  padding: var(--size-20-40);
  border-radius: var(--size-20-40);
}

.banner--gfx {
  padding: unset;
  place-content: center;
}

.banner--alpha {
  background-image: var(--bg-light), linear-gradient(to bottom right, var(--color-alpha), var(--color-light) 300%);
}

.banner--beta {
  background-image: var(--bg-light), linear-gradient(to right, transparent -50%, var(--color-gamma) 1000%);
}

.banner--big {
  gap: var(--size-10-20);
  border-radius: var(--size-30-60);
}

.banner__logo {
  margin-block-end: var(--size-05-10);
}

.banner__logo img {
  max-block-size: 24px;
  inline-size: auto;
}

.banner__title {
  font-size: var(--size-20-24);
}

.banner__text {
  font-size: var(--size-16-20);
}

.banner--medium .banner__title {
  font-size: var(--size-20-30);
}

.banner--big .banner__title {
  font-size: var(--size-30-40);
}

.banner--big .banner__text {
  font-size: var(--size-20-24);
}

.banner__list {
  font-size: var(--size-16-20);
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--size-10-20);
  row-gap: var(--size-05-10);
  list-style-position: inside;
}

.banner__list ::marker {
  content: '› ';
  font-weight: 600;
}

.banner--lastfm ul {
  padding-inline-start: var(--size-05-10);
  margin-block: var(--size-05-10);
}

.banner--lastfm li + li {
  margin-block-start: var(--size-02-04);
}

.banner--lastfm .cta {
  place-self: start;
}

.banner nav {
  display: grid;
  gap: var(--size-05-10);
}

[class*="__form"] {
  display: grid;
  gap: var(--size-05-10);
}

[class*="__label"],
[class*="__input"],
[class*="__cta"],
[class*="__desc"],
[class*="__info"] {
  font-size: var(--size-15-18);
}

[class*="__input"] {
  padding-block: var(--size-05-10);
  padding-inline: var(--size-10-20);
  min-block-size: var(--size-30-40);
  border: var(--size-02-04) solid var(--color-gamma);
}

.banner [class*="__input"] {
  border-radius: var(--size-30-60);
}

.contact [class*="__input"],
.contact [class*="__cta"] {
  border-radius: var(--size-05-10);
}

[class*="__input"] {
  color: var(--color-gamma);
}

.banner [class*="__input"] {
  background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 60%);
}

.contact [class*="__input"] {
  background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 80%);
}

.banner [class*="__input"]:is(:focus, :active) {
  background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 80%);
}

.contact [class*="__input"]:is(:focus, :active) {
  background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 95%);
}

/* .banner [class*="__input"]:is(:focus, :active):is(:invalid) {
  background-color: color-mix(in srgb, var(--color-beta), var(--color-light) 80%);
}

.contact [class*="__input"]:is(:focus, :active):is(:invalid) {
  background-color: color-mix(in srgb, var(--color-beta), var(--color-light) 95%);
}

[class*="__input"]:is(:focus, :active):is(:invalid):not(:placeholder-shown) {
  border-color: var(--color-beta);
} */

.banner__image img {
  --s: min(600px, 90vw);
  background-image: var(--hero-bg);
  background-position: center;
  background-size: cover;
  box-sizing: border-box;
  aspect-ratio: 4 / 3;
  object-fit: contain;
  inline-size: var(--s);
  padding-inline: calc(var(--s) / 10) 0;
  border-radius: var(--size-05-10);
  transform: perspective(var(--viewport)) rotateY(calc(var(--_y , 1) * 10deg));
  transition: 555ms;
  cursor: pointer;
}

.banner__image img:hover {
  --_y: -1;
  padding-inline: 0 calc(var(--s) / 10);
}

[class*="__action"] {
  margin-block-start: var(--size-10-20);
}

.article-header,
.article-content,
.article-footer {
  grid-column: 1 / -1;
  place-self: stretch;
}

.article-header {
  background-image: var(--bg-light), radial-gradient(ellipse closest-side at center, var(--color-alpha) -500%, transparent 200%);
  background-position: center;
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--size-10-20);
  padding-block: var(--size-20-40);
  padding-inline: var(--size-20-40);
  border-radius: var(--size-20-40);
}

.article-header h1 {
  font-size: var(--size-30-60);
  text-align: center;
  text-shadow: 1px 1px var(--color-alpha);
  max-inline-size: 30ch;
  text-wrap: balance;
  hyphens: auto;
  hyphenate-limit-chars: 10;
}

.article-footer {
  background-image: var(--bg-light), linear-gradient(transparent 25%, var(--color-alpha) 250%);
  background-position: center;
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
  row-gap: var(--size-20-40);
  padding-block: var(--size-50-100);
  position: relative;
  border-radius: var(--size-20-40);
}

.article-footer:before {
  content: '✣  ✣  ✣';
  background-image: linear-gradient(to right, transparent -50%, var(--color-gamma) 1000%);
  font-family: var(--monospace);
  font-size: var(--size-20-30);
  line-height: 1;
  text-align: center;
  position: absolute;
  inset-block-start: 0;
  inset-inline: 0;
  transform: translateY(-50%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.copy {
  font-size: var(--size-20-24);
}

.copy > * + * {
  margin-block-start: 1.25em;
}

.copy a:has(img) {
  display: block;
}

.copy :is(p, li) {
  font-weight: 300;
}

.copy ul {
  list-style-type: circle;
}

.copy td {
  font-size: var(--size-16-20);
  font-weight: 300;
}

.copy hr {
  background-image: linear-gradient(to right, transparent, var(--color-gamma-op50), transparent);
  block-size: 1px;
  border: unset;
  margin-block-start: 3em;
  margin-block-end: 2em;
}

.page--branding .copy p:has(img) {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: var(--size-05-10);
}

.copy :is(ol, ul) {
  padding-inline-start: 1em;
  line-height: 2;
}

.copy small a {
  text-decoration-style: wavy;
}

.article-content :is(img, p video) {
  display: block;
  block-size: auto;
  inline-size: 100%;
  max-block-size: unset;
}

.article-content :is(img, p video):not(.plain) {
  box-shadow: 0 var(--size-05-10) var(--size-15-30) var(--color-gamma-op06);
}

.article-content :is(img, p video, pre[class*="language-"]) {
  margin-block-end: 1.25rem;
}

.article-content :is(img, pre[class*="language-"]) {
  margin-block-start: 2.5rem;
}

.article-content p video {
  margin-block-start: 1.25rem;
}

.article-content :is(p, li) code,
.article-content blockquote,
.note {
  background-position: center;
  background-repeat: repeat;
  background-size: var(--bg-size), 100%;
}

.article-content blockquote,
.note {
  padding-inline: 2rem;
  margin-block-end: 1.25rem;
}

.article-content .note {
  background-image: var(--bg-light), linear-gradient(to right, transparent -50%, var(--color-gamma) 1000%);
}

.article-content blockquote {
  background-image: var(--bg-light), linear-gradient(to right, transparent -100%, var(--color-alpha) 500%);
}

.article-content blockquote {
  margin-block-start: 2.5rem;
  padding-block: 2rem;
}

.note :is(p, ul, blockquote p) {
  margin-inline: var(--size-10-20);
}

.note :is(p, blockquote p) {
  font-weight: 300;
}

.copy blockquote p {
  font-size: var(--size-20-30);
}

.article-content blockquote:before {
  content: "Quote";
  background-color: var(--color-light);
  color: var(--color-dark);
  font-family: var(--cursive);
  font-size: var(--size-15-18);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 2rem;
  padding-inline: var(--size-10-20);
  border-radius: var(--size-10-20);
  transform: translateY(-50%);
}

.article-content :is(p code, li code, code[class*="language-"], pre[class*="language-"]) {
  font-family: var(--monospace);
  font-size: 0.8em;
  font-weight: 500;
  line-height: 1.75;
  letter-spacing: -0.0125em;
}

.article-content p code {
  display: inline-block;
}

.article-content :is(p, li) code {
  background-image: var(--bg-light), linear-gradient(to right, transparent -50%, var(--color-alpha) 750%);
  font-weight: 600;
}

.article-content pre[class*="language-"] {
  background-color: transparent;
  background-image: linear-gradient(to right, var(--color-gamma) -100%, var(--color-dark) 500%);
  font-weight: 400;
}

.article-content code[class*="language-"]::selection,
.article-content code[class*="language-"] span::selection {
  background-color: var(--color-gamma);
}

.article-content :is(code[class*="language-"], pre[class*="language-"]) {
  line-height: 1.3;
  font-weight: 500;
  letter-spacing: 0.0125em;
  filter: brightness(1.25) contrast(1.25);
}

.invalid-css pre[class*="language-"]:first-of-type {
  text-align: center;
  font-size: 125%;
}

.note {
  position: relative;
  padding-block: 3rem;
  margin-block-start: 3.75rem;
}

.note:before {
  content: "Note";
  background-color: var(--color-light);
  color: var(--color-dark);
  font-family: var(--cursive);
  font-size: var(--size-15-18);
  position: absolute;
  inset-block-start: 0;
  inset-inline-start: 2rem;
  padding-inline: var(--size-10-20);
  border-radius: var(--size-10-20);
  transform: translateY(-50%);
}

.note[data-title]:before {
  content: attr(data-title);
}

.note ul {
  margin-block-start: var(--size-10-20);
}

.embed iframe {
  display: block;
  block-size: 100%;
  inline-size: 100%;
}

.table-wrapper {
  max-inline-size: calc(100dvw - var(--size-10-20) * 2 - var(--size-05-10) * 2 - var(--sb-size));
  overflow-x: auto;
}

.table-wrapper table {
  min-inline-size: 100%;
  border-collapse: collapse;
}

.table-wrapper :is(th, td) {
  text-align: left;
  padding-block: var(--size-05-10);
  padding-inline: var(--size-10-20);
  border: 1px solid var(--color-gamma-op06);
  min-inline-size: 30%;
}

.table-wrapper tr:hover {
  background-color: var(--color-gamma-op06);
}

.table-wrapper th {
  font-size: var(--size-20-24);
  font-weight: 400;
}

.page--setup li a:first-of-type {
  font-weight: 400;
}

.page--setup li a + a {
  display: inline-block;
  font-size: .75em;
  transform: translateX(25%) translateY(-25%);
  text-decoration: none;
}

.table-wrapper tr:hover td:last-of-type a {
  text-decoration-thickness: 2px;
}

.tags {
  font-family: var(--rounded);
  font-size: var(--size-15-18);
  font-weight: 300;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: var(--size-30-60);
  row-gap: var(--size-03-06);
}

.tags p {
  text-align: center;
}

.article-footer__content {
  font-size: var(--size-15-18);
  font-weight: 300;
}

.article-footer__content p {
  font-weight: 600;
}

.article-footer__content ul {
  display: flex;
  flex-wrap: wrap;
  column-gap: var(--size-30-60);
  padding-inline-start: 1em;
  list-style-type: circle;
}

.article-footer__content li {
  margin-block: var(--size-03-06);
}

.contact {
  place-self: stretch;
}

.gallery {
  grid-column: 1 / -1;
  inline-size: 100%;
}

.gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  grid-gap: 2px;
  text-align: center;
  list-style: none;
  padding: unset;
  margin-block-start: var(--size-10-20);
  margin-block-end: unset;
}

.gallery li {
  position: relative;
  transition: var(--timing200);
}

.gallery li:has([aria-expanded="true"]) p {
  transform: none;
  opacity: 1;
}

.gallery button {
  font-family: inherit;
  display: block;
  aspect-ratio: 1;
  inline-size: 100%;
  padding: unset;
  border: unset;
  border-radius: unset;
  overflow: hidden;
  cursor: pointer;
}

.gallery button:focus-visible {
  outline: var(--size-02-04) solid var(--color-beta);
}

.gallery p {
  color: var(--color-dark);
  font-size: var(--size-16-20);
  margin: unset;
}

.gallery__grid p {
  background-color: var(--color-light);
  position: absolute;
  inset-block-end: 0;
  inset-inline: 0;
  padding: var(--size-05-10);
  opacity: 0;
  z-index: 1;
  transform: translateY(100%);
  transition: var(--timing100);
}

.gallery button:hover p {
  transform: none;
  opacity: 1;
}

.gallery img {
  block-size: 100%;
  inline-size: 100%;
  object-fit: cover;
}

.masonry {
  grid-column: 1 / -1;
  display: grid;
  gap: var(--size-10-20);
  place-self: stretch;
}

.column {
  display: flex;
  flex-direction: column;
  row-gap: var(--size-10-20);
}

.column div {
  background-color: var(--color-alpha);
  color: var(--color-gamma);
  display: flex;
  align-items: center;
  justify-content: center;
  padding-block: var(--block-padding);
  padding-inline: var(--size-10-20);
  border-radius: var(--size-10-20);
}

.page--favorite-concert .favorites {
  grid-column: 1 / -1;
  column-gap: 2rem;
}

.page--favorite-concert .copy > * + * {
  margin-block-start: 1em;
}

.page--favorite-concert .copy h2 {
  font-size: var(--size-30-40);
  break-before: column;
  margin-block-start: unset;
}

.page--favorite-concert .copy :is(p, li) {
  font-size: var(--size-16-20);
  line-height: 1.66;
}

@media screen and (width < 500px) {
  .header__nav--alpha {
    border-radius: var(--size-50-100) var(--size-30-60) var(--size-30-60) var(--size-50-100);
  }

  .header__list--alpha {
    flex-wrap: wrap;
    align-content: center;
    justify-content: end;
    gap: var(--size-05-10);
    padding-inline-start: calc(var(--logo-size) + var(--size-05-10));
    min-block-size: var(--logo-size);
    position: relative;
  }

  .header__item--alpha {
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 0;
    transform: translateY(-50%);
  }

  .header__list--alpha .header__item:not(.header__nav--alpha) {
    flex: 1 1 33%;
  }

  .header__list--beta .header__item {
    flex: 1 1 auto;
  }

  .header__link--beta,
  .header__link--gamma {
    display: flex;
    align-items: center;
    justify-content: center;
    min-block-size: var(--min-block-size);
  }

  .header__link--beta {
    padding-inline: var(--size-02-04);
  }

  .header__link--gamma {
    border-radius: var(--size-15-30);
  }

  .article-footer {
    display: grid;
    row-gap: var(--size-20-40);
  }
}

@media screen and (width >= 500px) {
  .header__nav {
    border-radius: var(--size-60-120);
  }

  .header__list {
    align-items: center;
    gap: var(--size-10-20);
    margin-inline-end: var(--size-20-40);
  }

  .hero--testimonial {
    grid-template-columns: auto 1fr;
    align-items: center;
  }

  .article-content > *,
  .article-footer > * {
    grid-column: 3;
  }

  .article-content blockquote,
  .article-content img:not(.center),
  .article-content p:has(img:not(.center)),
  .article-content p:has(video:not(.center)),
  .article-content p:has(iframe),
  .article-content iframe,
  .article-content:not(.invalid-css) pre[class*="language-"],
  .article-content .note,
  .article-content .embed {
    grid-column: 2 / -2;
  }

  .article-content img:is(.bleed) {
    grid-column: 1 / -1;
  }

  .article-content p:has(img:is(.center.space)) {
    padding-inline: var(--size-50-100);
  }

  .picolo {
    max-inline-size: var(--narrow);
    margin-inline: auto;
  }
}

@media screen and (width < 600px) {
  .header__link--alpha {
    padding-inline-end: unset;
  }

  .header__link--alpha span {
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
    block-size: 1px;
    inline-size: 1px;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
  }
}

@media screen and (width >= 600px) {
  .header__link--alpha {
    padding-inline-end: var(--size-15-30);
  }
}

@media screen and (500px <= width < 1000px) {
  .page--home .hero:has(.hero__image) {
    grid-template-columns: 1fr clamp(10rem, calc(-10rem + 64vw), 20rem);
    column-gap: var(--size-20-30);
  }

  .hero > div:not(.hero__image) {
    grid-column: 1;
  }

  .hero > .hero__image {
    grid-column: 2;
    grid-row: 1 / span 5;
  }
}

@media screen and (500px <= width < 1000px) {
  .header__link--gamma {
    border-radius: var(--size-05-10);
  }

  .article-content,
  .article-footer {
    display: grid;
    grid-template-columns: 1fr 2fr min(90vw, var(--main)) 2fr 1fr;
  }

  .page--favorite-concert .favorites {
    column-count: 2;
  }
}

@media screen and (width < 1000px) {
  .header__nav--beta {
    margin-inline: var(--size-05-10);
    border-radius: var(--size-20-40);
  }

  .wrapper {
    grid-template-areas:
      "header"
      "main"
      "links"
      "sidebar";
  }

  .hero {
    padding-block-start: var(--size-20-40);
  }

  .hero__image {
    margin-block-start: var(--size-10-20);
  }

  .page--home .hero__image {
    border-radius: var(--size-20-24);
  }

  .hero__image svg {
    max-inline-size: min(var(--max-inline-size), 100%);
  }

  .hero__title {
    letter-spacing: -0.02em;
  }

  .page--portfolio-item .hero {
    padding-block-end: unset;
  }

  .banner__form {
    max-inline-size: max(20rem, 50%);
  }

  .article-header {
    margin-block-start: var(--size-30-60);
  }

  .article-content pre[class*="language-"] {
    box-sizing: border-box;
    max-inline-size: calc(100dvw - var(--sb-size) - var(--size-30-60));
  }

  .article-footer {
    padding-inline: var(--size-10-20);
  }

  .footer {
    flex-direction: column-reverse;
    margin-block-start: var(--size-20-40);
  }

  .footer__inner {
    place-items: start;
  }

  .footer__content {
    flex-direction: column;
  }

  .masonry {
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  }
}

@media screen and (width >= 1000px) {
  .header__link--gamma {
    border-radius: var(--size-20-40);
  }

  :where(h1, h2, h3, h4, h5, h6) {
    font-weight: 900;
  }

  .wrapper {
    grid-template-columns: 1fr var(--sidebar);
    grid-template-areas:
      "header header"
      "links links"
      "main sidebar";
  }

  .main {
    grid-template-columns: min(90vw, var(--main)) 1fr;
    padding: var(--size-30-60);
    position: relative;
  }

  .main:before {
    content: '';
    background-repeat: repeat;
    background-size: var(--bg-size), 100%;
    background-position: center;
    background-image: var(--bg-light), linear-gradient(135deg, var(--color-alpha), var(--color-light) min(5%, 20dvmax), var(--color-light) max(95%, calc(100% - 20dvmax)), var(--color-gamma) 100%);
    position: absolute;
    inset: 0;
    margin: calc(var(--size-05-10) * -1);
    border-radius: inherit;
    z-index: -1;
  }

  .hero {
    padding-block: var(--size-20-40);
  }

  body:not(.page--portfolio-item) .hero:has(.hero__image) {
    grid-template-columns: min(90vw, var(--main)) 1fr;
    align-items: center;
    column-gap: var(--size-50-100);
  }

  body:not(.page--portfolio-item) .hero__image {
    grid-column: 2;
    grid-row-start: 1;
  }

  body:not(.page--portfolio-item) .hero__image:nth-child(3) {
    grid-row: 1 / span 2;
  }

  body:not(.page--portfolio-item) .hero__image:nth-child(3) {
    grid-row: 1 / span 3;
  }

  body:not(.page--portfolio-item) .hero__image:nth-child(4) {
    grid-row: 1 / span 4;
  }

  body:not(.page--portfolio-item) .hero__image:nth-child(5) {
    grid-row: 1 / span 5;
  }

  .article-content,
  .article-footer {
    display: grid;
    grid-template-columns: 3fr 2fr min(90vw, var(--main)) 2fr 3fr;
  }

  .box__grid--beta {
    grid-template-columns: repeat(auto-fit, minmax(22.5rem, 1fr));
  }

  .page--about .hero__image img {
    max-inline-size: var(--max-inline-size, 100%);
  }

  .banner.sticky {
    position: sticky;
    inset-block-start: var(--size-20-40);
    grid-column: 2;
  }

  .banner:not(.sticky) {
    grid-column: 1;
  }

  .footer__inner {
    background-repeat: repeat;
    background-size: var(--bg-size), 100%;
    background-position: center;
    background-image: var(--bg-light), linear-gradient(to bottom, transparent 5%, var(--color-gamma) 500%);
    border-radius: 0 0 var(--size-60-120) var(--size-60-120);
    position: sticky;
    padding-block-start: var(--size-10-20);
    inset-block-end: var(--size-10-20);
  }

  .footer p {
    writing-mode: vertical-lr;
  }

  .footer__content {
    flex-direction: row-reverse;
  }

  .footer__social {
    justify-content: center;
  }

  .masonry {
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  }

  .page--favorite-concert .favorites {
    column-count: 3;
  }
}

@media (prefers-color-scheme: dark) {
  ::selection {
    background-color: color-mix(in srgb, var(--color-light), transparent 90%);
  }

  body {
    background-color: var(--color-gamma);
    color: var(--color-light);
  }

  [class*="avatar"] img {
    background-color: var(--color-gamma);
  }

  [class*="cta"] {
    background-image: linear-gradient(to right, var(--color-alpha) 40%, var(--color-light) 400%);
  }

  [class*="cta--inverse"] {
    background-image: linear-gradient(to right, var(--color-gamma) 50%, var(--color-alpha) 1000%);
    border-color: var(--color-alpha);
    color: var(--color-alpha);
  }

  [class*="cta--converse"] {
    background-image: linear-gradient(to left, transparent -100%, var(--color-alpha) 2000%);
    border-color: var(--color-alpha);
    color: var(--color-alpha);
  }

  [class*="cta"]:after {
    content: '››››';
    transform: translateY(calc(var(--size-02-04) * -1));
    transform-origin: left center;
    transition: inherit;
  }

  :where([class*="cta"], [class*="__input"]):is(:hover, :focus, :active) {
    /* box-shadow: 0 0 0 0.075em var(--color-gamma); */
    outline-color: var(--color-alpha);
  }

  [class*="cta"]:is(:hover, :focus, :active):after {
    transform: translateX(var(--size-02-04)) translateY(calc(var(--size-02-04) * -1)) scale(110%);
  }

  [class*="avatar"] img {
    background-color: var(--color-light);
    border: .15em solid currentColor;
    border-radius: 50%;
    transition: var(--timing100);
  }

  .header__nav--alpha {
    background-image: var(--bg-dark), linear-gradient(to right, var(--color-alpha) -500%, transparent 200%);
  }

  .header__nav--beta {
    background-image: var(--bg-dark), linear-gradient(to right, var(--color-alpha) -1000%, transparent 150%);
  }

  .header__link--beta {
    background-color: var(--color-gamma);
  }

  .main {
    background-color: var(--color-gamma);
  }

  .box__title:before {
    background-image: var(--bg-dark), linear-gradient(to right, transparent 10%, var(--color-alpha) 1100%);
  }

  .box__tag,
  .box__more {
    color: color-mix(in srgb, var(--color-light), var(--color-gamma) 20%);
  }

  .box__tag--omega {
    color: var(--color-light);
  }

  .box__panel:is(:hover, :focus, :active) img {
    filter: drop-shadow(0 var(--size-02-04) var(--size-05-10) var(--color-dark));
  }

  .box__link:is(:hover, :focus, :active) {
    background-color: color-mix(in srgb, var(--color-gamma), var(--color-light) 10%);
  }

  .banner--alpha {
    background-image: var(--bg-dark), linear-gradient(to bottom right, var(--color-alpha) -500%, transparent 150%);
  }

  .banner--beta {
    background-image: var(--bg-dark), linear-gradient(to right, var(--color-alpha) -1000%, transparent 200%);
  }

  .banner [class*="__input"],
  .contact [class*="__input"] {
    background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 20%);
  }

  .banner [class*="__input"]:is(:focus, :active) {
    background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 60%);
  }

  .contact [class*="__input"]:is(:focus, :active) {
    background-color: color-mix(in srgb, var(--color-alpha), var(--color-light) 100%);
  }

  .article-header {
    background-image: var(--bg-dark), radial-gradient(ellipse closest-side at center, var(--color-alpha) -500%, transparent 200%);
  }

  .article-header h1 {
    text-shadow: 1px 1px var(--color-gamma);
  }

  .article-footer {
    background-image: var(--bg-dark), linear-gradient(transparent 25%, var(--color-alpha) 1000%);
  }

  .table-wrapper :is(th, td) {
    border: 1px solid var(--color-alpha-op33);
  }

  .gallery  p {
    color: var(--color-light);
  }

  .gallery__grid p {
    background-color: var(--color-gamma);
  }

  .article-content blockquote:before,
  .note:before {
    background-color: var(--color-alpha);
    color: var(--color-gamma);
  }

  .footer__social svg {
    stroke: var(--color-alpha);
  }

  .footer__social a:is(:hover, :focus, :active) svg {
    /* background-color: var(--color-alpha); */
    stroke: var(--color-gamma);
  }

  @media screen and (width >= 1000px) {
    .main:before {
      background-image: var(--bg-dark), linear-gradient(135deg, var(--color-alpha), var(--color-gamma) min(5%, 20dvmax), var(--color-gamma) max(95%, calc(100% - 20dvmax)), var(--color-alpha) 100%);
    }

    .footer__inner {
      background-image: var(--bg-dark), linear-gradient(to bottom, transparent 5%, var(--color-alpha) 500%);
    }
  }
}
