@charset "UTF-8";
@font-face {
  font-family: JetBrainsMono;
  src: url("../fonts/jetbrainsmono/JetBrainsMono-Regular-am2WezT.woff2");
  font-display: fallback;
}
@font-face {
  font-family: JetBrainsMono;
  src: url("../fonts/jetbrainsmono/JetBrainsMono-Italic-OYvFqf7.woff2");
  font-style: italic;
  font-display: fallback;
}
@font-face {
  font-family: SpaceGrotesk;
  src: url("../fonts/SpaceGrotesk-VariableFont_wght-r-JVEzD.ttf") format("truetype-variations");
  font-weight: 300 700;
  font-display: fallback;
}
@font-face {
  font-family: StrichpunktSans;
  src: url("../fonts/StrichpunktSans-VariableFont_wdth,wght-fpFeuAI.ttf") format("truetype-variations");
  font-weight: 400 900;
  font-stretch: 100% 200%;
  font-display: fallback;
}
:root {
  --woodsmoke-50: #f4f6f7;
  --woodsmoke-100: #e4e8e9;
  --woodsmoke-200: #cbd3d6;
  --woodsmoke-300: #a7b3b9;
  --woodsmoke-400: #7c8c94;
  --woodsmoke-500: #617179;
  --woodsmoke-600: #535f67;
  --woodsmoke-700: #475057;
  --woodsmoke-800: #3f454b;
  --woodsmoke-900: #383d41;
  --woodsmoke-950: #131517;
  --malachite-50: #eefff1;
  --malachite-100: #d7ffe1;
  --malachite-200: #b2ffc5;
  --malachite-300: #76ff9a;
  --malachite-400: #33f566;
  --malachite-500: #09de41;
  --malachite-600: #00b931;
  --malachite-700: #05902a;
  --malachite-800: #0a7126;
  --malachite-900: #0a5d22;
  --malachite-950: #003410;
  --cerulean-50: #ecfdff;
  --cerulean-100: #cef8ff;
  --cerulean-200: #a3effe;
  --cerulean-300: #63e1fd;
  --cerulean-400: #1dcaf3;
  --cerulean-500: #01acd9;
  --cerulean-600: #0489b6;
  --cerulean-700: #0b6d93;
  --cerulean-800: #135977;
  --cerulean-900: #144a65;
  --cerulean-950: #073045;
  --amethyst-50: #f9f5ff;
  --amethyst-100: #f1e9fe;
  --amethyst-200: #e6d6fe;
  --amethyst-300: #d2b6fc;
  --amethyst-400: #b788f8;
  --amethyst-500: #9b5af2;
  --amethyst-600: #8539e4;
  --amethyst-700: #7027c9;
  --amethyst-800: #6025a4;
  --amethyst-900: #4f1f84;
  --amethyst-950: #340a61;
  --radical-red-50: #fff1f2;
  --radical-red-100: #ffe4e7;
  --radical-red-200: #fecdd4;
  --radical-red-300: #fda4b1;
  --radical-red-400: #fb7188;
  --radical-red-500: #f43f62;
  --radical-red-600: #e11d4c;
  --radical-red-700: #be1240;
  --radical-red-800: #9f123c;
  --radical-red-900: #88133a;
  --radical-red-950: #4c051b;
  --c-white: #ffffff;
  --c-light: var(--woodsmoke-50); /*#f3fff8*/
  --c-dust: var(--woodsmoke-300);
  --c-neutral: var(--woodsmoke-400);
  --c-dark: var(--woodsmoke-700);
  --c-night: var(--woodsmoke-950);
  --c-black: #000000;
  --c-erin: var(--malachite-400);
  --c-green: var(--malachite-600);
  --c-blue: var(--cerulean-300);
  --c-cyan: var(--cerulean-600);
  --c-duck: var(--cerulean-700);
  --c-danger: var(--radical-red-700);
  /*
  --c-white: #ffffff;
  --c-light: #f3fff8;
  --c-fog: #d6e5f4;
  --c-dust: #b7bcbf;
  --c-neutral: #888888;
  --c-dark: #555454;
  --c-black: #131517;

  --c-erin: #50fa7b;
  --c-green: #30BA53;
  --c-blue: #8be9fe;
  --c-cyan: #1296be;
  --c-duck: #0e7d9e;
  --c-purple: #bd93f9;
  --c-danger: #be1240;
  */
  --brand-idp: #15A2C2;
  --brand-ln: #ff9900;
  --primary: var(--c-cyan);
  --anti-primary: var(--c-blue);
  --secondary: var(--c-green);
  --mould: rgba(100, 215, 250, 0.2);
  --mould-contrast: var(--c-dark);
  --contrast: var(--c-night);
  --anti-contrast: var(--c-white);
  --highlight: var(--c-green);
  --highlight-contrast: var(--c-white);
  --scrollbar-color: rgba(18, 150, 190, .618) transparent;
  --body-flares:
          radial-gradient(ellipse 112rem 68rem at -14% 16%, color-mix(in srgb, var(--cerulean-300) 13%, transparent), transparent 70%),
          radial-gradient(ellipse 104rem 64rem at 118% 42%, color-mix(in srgb, var(--cerulean-700) 9%, transparent), transparent 72%),
          radial-gradient(ellipse 104rem 62rem at 40% 104%, color-mix(in srgb, var(--radical-red-200) 10%, transparent), transparent 74%);
  --body-bg: var(--c-light) url("../images/bg/main-bg-t5V2ehd.webp");
  --body-bg-wide: var(--body-bg);
  --text-color-body: var(--c-dark);
  --text-color-highlight: var(--c-cyan);
  --text-color-strong: inherit;
  --font-sans: StrichpunktSans, ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-serif: ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;
  --font-mono: JetBrainsMono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  /* @link https://utopia.fyi/type/calculator?c=320,18,1.125,1420,16,1.2,6,2,&s=0.75|0.5|0.25,1.5|2|3|4|6,s-l&g=s,l,xl,12 */
  --step--2: round(clamp(0.6944rem, 0.9455rem + -0.2828vi, 0.8889rem), .125rem);
  --step--1: round(clamp(0.8333rem, 1.0485rem + -0.2424vi, 1rem), .125rem);
  --step-0: round(clamp(1rem, 1.1614rem + -0.1818vi, 1.125rem), .125rem);
  --step-1: round(clamp(1.2rem, 1.2847rem + -0.0955vi, 1.2656rem), .125rem);
  --step-2: round(clamp(1.4238rem, 1.4191rem + 0.0235vi, 1.44rem), .25rem);
  --step-3: round(clamp(1.6018rem, 1.5651rem + 0.1836vi, 1.728rem), .25rem);
  --step-4: round(clamp(1.802rem, 1.723rem + 0.395vi, 2.0736rem), .25rem);
  --step-5: round(clamp(2.0273rem, 1.8932rem + 0.6706vi, 2.4883rem), .25rem);
  --step-6: round(clamp(2.2807rem, 2.0755rem + 1.0259vi, 2.986rem), .25rem);
  --fs-body: var(--step-0);
  --fs-p: var(--step-1);
  --fw-h: 750;
  --_padding: round(clamp(1.375rem, 6vw, 2rem), .25rem);
  --padding-inline: var(--_padding);
  --padding-inline-extended: calc(var(--_padding) * 2.5);
  --padding-block-closest: round(var(--_padding) * 0.618, .25rem);
  --padding-block-near: var(--_padding);
  --padding-block: calc(var(--_padding) * 1.75);
  --padding-block-distant: calc(var(--padding-block) * 2);
  --padding-block-frame: calc(var(--padding-block) * 3.75);
  /*
  --padding-sm: 2.2rem;
  --padding-md: 2.5rem;
  --padding-lg: 3.2rem;
  */
  --padding-lg: var(--padding-inline);
  --container-width: 900px;
  --theme-icon-system: path("M256,23.611c128.259,-0 232.389,104.13 232.389,232.389c0,128.259 -104.13,232.389 -232.389,232.389c-128.259,0 -232.389,-104.13 -232.389,-232.389c-0,-128.259 104.13,-232.389 232.389,-232.389Zm19.997,35.191c-5.101,-0.521 -10.183,1.143 -13.989,4.579c-3.805,3.436 -5.977,8.324 -5.977,13.451c-0.031,66.973 -0.031,291.363 -0.031,358.336c-0,5.136 2.175,10.032 5.987,13.474c3.812,3.443 8.904,5.109 14.013,4.587c100.009,-10.07 178.196,-94.591 178.196,-197.229c0,-102.638 -78.187,-187.159 -178.199,-197.198Z");
  --theme-icon-moon: path("M447.548,315.908c6.662,-3.038 14.499,-1.762 19.852,3.234c5.354,4.995 7.169,12.724 4.599,19.58c-33.151,87.438 -117.727,149.667 -216.723,149.667c-127.859,0 -231.665,-103.805 -231.665,-231.664c0,-98.996 62.23,-183.573 149.671,-216.713c6.852,-2.568 14.577,-0.754 19.569,4.596c4.992,5.35 6.268,13.182 3.231,19.84c-10.801,23.873 -16.821,50.366 -16.821,78.255c-0,104.884 85.153,190.037 190.037,190.037c27.888,-0 54.382,-6.021 78.25,-16.832Zm-30.423,54.411c1.156,-1.672 1.181,-3.878 0.064,-5.576c-1.117,-1.697 -3.153,-2.547 -5.145,-2.148c-13.839,2.675 -28.13,4.08 -42.746,4.08c-123.614,-0 -223.972,-100.359 -223.972,-223.972c-0,-14.605 1.402,-28.884 4.079,-42.716c0.4,-1.995 -0.451,-4.033 -2.151,-5.151c-1.699,-1.118 -3.908,-1.092 -5.581,0.065c-50.863,35.8 -84.126,94.957 -84.126,161.824c-0,109.129 88.599,197.729 197.729,197.729c66.895,-0 126.075,-33.292 161.849,-84.135Z");
  --theme-icon-sun: path("M447.973,280.999c-13.831,0 -25.06,-11.229 -25.06,-25.06c0,-13.83 11.229,-25.059 25.06,-25.059l38.967,-0c13.831,-0 25.06,11.229 25.06,25.059c-0,13.831 -11.229,25.06 -25.06,25.06l-38.967,0Zm-372.992,-170.639c-9.78,-9.78 -9.78,-25.66 -0,-35.44c9.78,-9.78 25.66,-9.78 35.439,0l27.554,27.554c9.78,9.78 9.78,25.66 0,35.44c-9.779,9.78 -25.659,9.78 -35.439,-0l-27.554,-27.554Zm299.045,299.045c-9.78,-9.78 -9.78,-25.66 -0,-35.44c9.779,-9.78 25.659,-9.78 35.439,-0l27.554,27.554c9.78,9.78 9.78,25.66 0,35.44c-9.78,9.78 -25.66,9.78 -35.439,-0l-27.554,-27.554Zm27.554,-334.485c9.779,-9.78 25.659,-9.78 35.439,0c9.78,9.78 9.78,25.66 0,35.44l-27.554,27.554c-9.78,9.78 -25.66,9.78 -35.439,-0c-9.78,-9.78 -9.78,-25.66 -0,-35.44l27.554,-27.554Zm-170.64,-49.921c0,-13.831 11.229,-25.06 25.06,-25.06c13.831,0 25.06,11.229 25.06,25.06l-0,38.967c-0,13.831 -11.229,25.06 -25.06,25.06c-13.831,-0 -25.06,-11.229 -25.06,-25.06l0,-38.967Zm25.06,97.954c73.431,-0 133.047,59.616 133.047,133.047c0,73.431 -59.616,133.047 -133.047,133.047c-73.431,0 -133.047,-59.616 -133.047,-133.047c-0,-73.431 59.616,-133.047 133.047,-133.047Zm0,37.5c-52.734,-0 -95.547,42.813 -95.547,95.547c-0,52.734 42.813,95.547 95.547,95.547c52.734,0 95.547,-42.813 95.547,-95.547c0,-52.734 -42.813,-95.547 -95.547,-95.547Zm-25.06,287.459c0,-13.83 11.229,-25.059 25.06,-25.059c13.831,-0 25.06,11.229 25.06,25.059l-0,38.968c-0,13.831 -11.229,25.059 -25.06,25.059c-13.831,0 -25.06,-11.228 -25.06,-25.059l0,-38.968Zm-205.88,-166.913c-13.831,0 -25.06,-11.229 -25.06,-25.06c-0,-13.83 11.229,-25.059 25.06,-25.059l38.967,-0c13.831,-0 25.06,11.229 25.06,25.059c-0,13.831 -11.229,25.06 -25.06,25.06l-38.967,0Zm77.475,92.966c9.78,-9.78 25.66,-9.78 35.439,-0c9.78,9.78 9.78,25.66 0,35.44l-27.554,27.554c-9.779,9.78 -25.659,9.78 -35.439,-0c-9.78,-9.78 -9.78,-25.66 -0,-35.44l27.554,-27.554Z");
  --text-selection-bg: rgba(18, 150, 190, 0.15);
  --text-selection-color: var(--c-duck);
  --shadow-color: rgba(29, 82, 80, 0.4);
  --shadow-subtle: 0 5px 8px -6px var(--shadow-color);
  --shadow-focus: 0 5px 11px -4px var(--shadow-color);
  --shadow-large: 0 10px 22px -8px var(--shadow-color);
  /** Content Sections **/
  --cs-gap: 7.5rem;
  --cs-inner-lr: calc(1.1 * var(--cs-gap));
  --cs-vw-diff: calc(100vw - var(--container-width) - 2 * var(--cs-inner-lr));
  --cs-width: calc(var(--container-width) + 2 * var(--cs-inner-lr));
  --cs-shadow:
          0 min(3.75rem, var(--cs-vw-diff)) min(5.000rem, var(--cs-vw-diff)) min(-3.75rem, var(--cs-vw-diff) - 3.75rem) rgba(29, 62, 82, 0.3),
          0 min(1.25rem, var(--cs-vw-diff)) min(1.875rem, var(--cs-vw-diff)) min(-1.25rem, var(--cs-vw-diff) - 1.25rem) rgba(29, 62, 82, 0.1);
  --content-max-width: 80ch;
  --breakout-max-width: 86ch;
  /*--feature-max-width: calc(var(--padding-inline) * (11 + 12 * 2.2)); !* 12 columns + 11 Gaps *!*/
  --feature-max-width: calc(var(--padding-inline) * 37.4);
  --feature-border-radius: clamp(0px, 6vw - var(--padding-inline) * 2, 1.25rem);
  --bp-xs-max: 419px;
  --bp-md-min: calc(var(--bp-xs-max) + 1px);
  color-scheme: light dark;
}

@media only screen {
  [data-theme=dark] {
    --c-cyan: var(--cerulean-500);
    --c-duck: var(--cerulean-600);
    --primary: var(--c-blue);
    --anti-primary: var(--c-cyan);
    --secondary: var(--c-erin);
    /*--mould: rgba(187, 226, 237, 0.2);*/
    --mould-contrast: var(--c-white);
    --contrast: var(--woodsmoke-50);
    --anti-contrast: var(--c-night);
    --highlight: var(--c-white);
    --highlight-contrast: var(--c-green);
    --body-flares:
            radial-gradient(ellipse 116rem 70rem at -14% 16%, color-mix(in srgb, var(--cerulean-500) 9%, transparent), transparent 72%),
            radial-gradient(ellipse 108rem 66rem at 118% 42%, color-mix(in srgb, var(--cerulean-800) 8%, transparent), transparent 74%),
            radial-gradient(ellipse 106rem 64rem at 40% 104%, color-mix(in srgb, var(--radical-red-500) 6%, transparent), transparent 76%);
    --body-bg: var(--c-black);
    --body-bg-wide: var(--c-night) url("../images/bg/dark-bg-RIfo_OH.webp") repeat fixed;
    --text-color-body: var(--c-dust);
    --text-color-highlight: var(--c-white);
    --scrollbar-color: var(--c-dark) transparent;
    --text-color-strong: var(--c-light);
    --text-selection-bg: rgba(48, 186, 83, 0.3);
    --text-selection-color: var(--c-green);
  }
}
@-ms-viewport {
  width: device-width;
}
::selection {
  color: var(--text-selection-color);
  background: var(--text-selection-bg);
}

[hidden], .hidden {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

.screenreader {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  opacity: 0.01;
  clip: rect(1px 1px 1px 1px);
  clip: rect(1px, 1px, 1px, 1px);
}

@layer reset {
  *,
  *::before,
  *::after {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    box-sizing: border-box;
  }
  * {
    margin: 0;
    padding: 0;
    font: inherit;
  }
  html {
    width: 100%;
    height: 100%;
    scrollbar-color: var(--scrollbar-color);
    hanging-punctuation: first last;
  }
  body {
    width: 100%;
    min-height: 100%;
    overflow-y: scroll;
  }
}
@layer base {
  body {
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 100svh;
    background: var(--body-bg);
    color: var(--text-color-body);
    font-family: var(--font-sans);
    font-size: var(--fs-body);
    isolation: isolate;
  }
  body::before {
    position: absolute;
    inset: 0;
    min-height: 100%;
    background: var(--body-flares);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    content: "";
    pointer-events: none;
    z-index: 0;
  }
  body > * {
    position: relative;
    z-index: 1;
  }
  h1, h2, h3, h4, h5, h6 {
    --_fs-h: var(--step-0, 1em);
    --_fw-h: var(--fw-h, bold);
    margin: 0 0 var(--padding-block-near) 0;
    color: var(--primary);
    font-size: var(--_fs-h);
    font-weight: var(--_fw-h);
    /*noinspection CssInvalidPropertyValue*/
    text-wrap: balance;
    text-rendering: optimizeLegibility;
    text-align: left;
  }
  h1 {
    --_fs-h: var(--step-5);
  }
  h2 {
    --_fs-h: var(--step-4);
  }
  h3 {
    --_fs-h: var(--step-3);
    color: var(--contrast);
  }
  h4 {
    --_fs-h: var(--step-2);
  }
  h5 {
    --_fs-h: var(--step-1);
  }
  [data-theme=dark] h2,
  [data-theme=dark] h3 {
    --fw-h: 600;
    letter-spacing: 0.03em;
  }
  abbr {
    text-decoration: none;
  }
  span {
    font-family: inherit;
  }
  em {
    font-style: italic;
  }
  p {
    --_fs-p: var(--fs-p);
    font-size: var(--_fs-p);
    margin-block: var(--padding-block-near);
    word-break: break-word;
    hyphens: auto;
    line-height: 1.5;
    /*noinspection CssInvalidPropertyValue*/
    text-wrap: pretty;
  }
  p.magnified {
    --_fs-p: var(--step-2);
  }
  article {
    margin-block: var(--padding-block);
  }
  article p {
    margin-block: 1em;
    text-align: justify;
  }
  @media (max-width: var(--bp-xs-max)) {
    article p {
      text-align: left;
    }
  }
  article h1,
  article h2,
  article h3,
  article h4 {
    margin-block: 1.5em 1em;
  }
  article > article {
    margin-block: 0;
  }
  section > :first-child,
  .no-fold > :first-child {
    margin-top: 0;
  }
  section > :last-child,
  .no-fold > :last-child {
    margin-bottom: 0;
  }
  a {
    color: var(--primary);
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects;
  }
  a .link-accent {
    color: var(--c-cyan);
  }
  a:hover {
    text-decoration: underline var(--anti-primary);
  }
  a svg {
    transition: transform 0.1s;
  }
  strong {
    color: var(--text-color-strong);
    font-weight: bolder;
  }
  small {
    font-size: 80%;
  }
  pre, code, samp {
    font-family: var(--font-mono, monospace), monospace;
    font-size: 1em;
  }
  code {
    color: var(--primary);
    font-size: 0.84em;
  }
  /*[data-theme-next] { d: var(--theme-icon); }*/
  [data-theme-next=light] {
    d: var(--theme-icon-sun);
  }
  [data-theme-next=dark] {
    d: var(--theme-icon-moon);
  }
}
@layer components {
  .address-grid {
    display: grid;
    gap: var(--padding-block-near) var(--padding-inline);
    align-items: center;
  }
  address {
    --_border-radius: 1em;
    --_background: rgba(95, 125, 135, 0.08);
    --_shadow: var(--shadow-subtle);
    background: var(--_background);
    padding: var(--padding-block-near) var(--padding-inline);
    color: var(--contrast);
    border-left: 2px solid var(--secondary);
    border-top-left-radius: var(--_border-radius);
    border-top-right-radius: var(--_border-radius);
    box-shadow: var(--_shadow);
    font-size: var(--fs-p);
  }
  [data-theme=dark] address {
    --_background: rgba(55, 65, 80, 0.3);
    --_shadow: none;
  }
  .labeled-lines {
    display: grid;
    grid-template-columns: repeat(2, max-content);
    gap: 0 0.8em;
  }
  .labeled-lines > *:nth-child(2n) {
    text-align: right;
  }
  .availability-card__stack {
    position: relative;
    max-width: min(100%, 38rem);
    margin-inline: auto;
    isolation: isolate;
  }
  .availability-card__stack::before {
    position: absolute;
    inset: 1.375rem -1.125rem 1.5rem;
    z-index: 0;
    border: 1px solid color-mix(in srgb, var(--cerulean-700) 14%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--c-white) 88%, var(--malachite-50));
    box-shadow: 0 1rem 1.75rem -1.375rem color-mix(in srgb, var(--cerulean-950) 28%, transparent);
    content: "";
    pointer-events: none;
  }
  .availability-card {
    position: relative;
    z-index: 1;
    padding: clamp(1.5rem, 5vw, 2.25rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cerulean-600) 26%, transparent);
    border-radius: 8px;
    background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cerulean-600) 12%, transparent) 0 1px, transparent 1px 4.5rem), repeating-linear-gradient(0deg, color-mix(in srgb, var(--malachite-600) 9%, transparent) 0 1px, transparent 1px 4.5rem), color-mix(in srgb, var(--c-white) 96%, var(--cerulean-50));
    box-shadow: var(--shadow-large);
  }
  .availability-card__eyebrow {
    margin: 0 0 0.75rem;
    color: var(--cerulean-700);
    font-family: var(--font-mono);
    font-size: var(--step--1);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .availability-card__title {
    max-width: 12em;
    margin: 0;
    color: var(--woodsmoke-950);
    font-size: var(--step-4);
    line-height: 1.05;
  }
  .availability-card__copy {
    max-width: 34rem;
    margin: 1rem 0 1.75rem;
    color: var(--woodsmoke-700);
    font-size: var(--step-1);
  }
  .availability-card__link {
    display: inline-flex;
    align-items: center;
    min-height: 2.875rem;
    padding: 0.625rem 1.125rem;
    border: 1px solid var(--cerulean-700);
    border-radius: 6px;
    background: var(--cerulean-800);
    color: var(--c-white);
    font-weight: 700;
    text-decoration: none;
    box-shadow: var(--shadow-subtle);
    transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease, color 180ms ease;
  }
  .availability-card__link:hover {
    border-color: var(--malachite-700);
    background: var(--malachite-700);
    color: var(--c-white);
    box-shadow: var(--shadow-focus);
  }
  @media screen {
    [data-theme=dark] .availability-card__stack::before {
      border-color: color-mix(in srgb, var(--cerulean-300) 18%, transparent);
      background: color-mix(in srgb, var(--woodsmoke-950) 84%, var(--cerulean-950));
      box-shadow: 0 1rem 1.75rem -1.375rem color-mix(in srgb, var(--c-black) 82%, transparent);
    }
    [data-theme=dark] .availability-card {
      border-color: color-mix(in srgb, var(--cerulean-300) 34%, transparent);
      background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cerulean-300) 10%, transparent) 0 1px, transparent 1px 4.5rem), repeating-linear-gradient(0deg, color-mix(in srgb, var(--malachite-300) 8%, transparent) 0 1px, transparent 1px 4.5rem), color-mix(in srgb, var(--woodsmoke-950) 88%, var(--cerulean-950));
    }
    [data-theme=dark] .availability-card__eyebrow {
      color: var(--cerulean-300);
    }
    [data-theme=dark] .availability-card__title {
      color: var(--woodsmoke-50);
    }
    [data-theme=dark] .availability-card__copy {
      color: var(--woodsmoke-200);
    }
    [data-theme=dark] .availability-card__link {
      border-color: var(--cerulean-300);
      background: var(--cerulean-500);
      color: var(--woodsmoke-950);
    }
    [data-theme=dark] .availability-card__link:hover {
      border-color: var(--malachite-400);
      background: var(--malachite-400);
      color: var(--woodsmoke-950);
    }
  }
  .btn {
    display: inline-block;
    background: transparent;
    color: var(--primary);
    padding: 0.372em 1.618em;
    border: 1px solid var(--c-cyan);
    border-radius: 2em;
    box-shadow: var(--shadow-subtle);
    transition: all 220ms ease;
  }
  .btn:hover {
    background: var(--highlight-contrast);
    border-color: var(--highlight-contrast);
    color: var(--highlight);
    text-decoration: none;
    box-shadow: var(--shadow-focus);
  }
  .btn--nm {
    margin: -0.372em 0;
  }
  .btn strong {
    color: inherit;
  }
  .btn .svg-icon {
    fill: var(--primary);
  }
  .btn:hover .svg-icon {
    fill: var(--highlight);
  }
  .btn--disabled {
    border-color: var(--contrast);
    color: var(--contrast);
    cursor: default;
    opacity: 0.5;
  }
  .btn--disabled:hover {
    background: var(--c-white);
    border-color: var(--c-white);
    color: var(--c-danger);
    opacity: 1;
  }
  @media screen {
    [data-theme=dark] .btn--disabled:hover {
      background: var(--c-danger);
      border-color: var(--c-danger);
      color: var(--c-white);
    }
  }
  .btn--bold {
    background: var(--cerulean-800);
    border-color: var(--cerulean-800);
    border-radius: 6.25rem;
    color: white;
    font-size: 1.25rem;
    font-weight: 470;
    letter-spacing: 0.03125rem;
  }
  .btn--bold:hover {
    background: var(--malachite-700);
    border-color: var(--malachite-700);
    color: white;
  }
  .hmu {
    max-width: 90%;
    width: 400px;
    background: var(--mould);
    border-radius: 1.25rem;
    padding: var(--padding-block-near) var(--padding-inline) !important;
    box-shadow: var(--shadow-subtle);
    margin-inline: auto;
  }
  .hmu .title {
    text-align: center;
    margin-bottom: 1em;
    color: var(--c-duck);
  }
  @media screen {
    [data-theme=dark] .hmu .title {
      color: var(--c-blue);
    }
  }
  .hmu p {
    text-align: center;
    margin-bottom: 2.5rem;
    box-sizing: border-box;
    color: var(--mould-contrast);
  }
  .hmu__sendmail {
    text-align: center;
  }
  .progress-card {
    position: relative;
    margin-top: 0;
    padding-block: var(--padding-block-distant);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cerulean-950) 24%, var(--c-white));
    border-radius: var(--feature-border-radius);
    background: linear-gradient(120deg, color-mix(in srgb, var(--woodsmoke-200) 72%, var(--cerulean-50)), color-mix(in srgb, var(--cerulean-800) 16%, var(--malachite-50))), repeating-linear-gradient(90deg, color-mix(in srgb, var(--cerulean-700) 10%, transparent) 0 1px, transparent 1px 4.5rem), repeating-linear-gradient(0deg, color-mix(in srgb, var(--malachite-700) 7%, transparent) 0 1px, transparent 1px 4.5rem), color-mix(in srgb, var(--woodsmoke-200) 76%, var(--cerulean-100));
    backdrop-filter: blur(18px) saturate(1.24);
    color: var(--woodsmoke-700);
    -webkit-backdrop-filter: blur(18px) saturate(1.24);
    box-shadow: inset 0 1.5rem 2.5rem -1.5rem color-mix(in srgb, var(--woodsmoke-950) 42%, transparent), inset 0 -1.25rem 2rem -1.75rem color-mix(in srgb, var(--c-white) 64%, transparent), inset 0 1px 0 color-mix(in srgb, var(--woodsmoke-950) 18%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--c-white) 58%, transparent);
    isolation: isolate;
  }
  .progress-card::before {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg, transparent 0 54%, color-mix(in srgb, var(--cerulean-800) 15%, transparent) 54% 55%, transparent 55%), linear-gradient(155deg, transparent 0 56%, color-mix(in srgb, var(--malachite-800) 12%, transparent) 56% 57%, transparent 57%);
    content: "";
    pointer-events: none;
    z-index: 0;
    mix-blend-mode: multiply;
    opacity: 0.58;
  }
  .progress-card::after {
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 22% 12%, color-mix(in srgb, var(--c-white) 18%, transparent), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--woodsmoke-950) 9%, transparent) 0 18%, transparent 36% 100%);
    content: "";
    pointer-events: none;
    z-index: 0;
  }
  .progress-card__stack {
    position: relative;
    z-index: 1;
    grid-column: content;
    padding-top: clamp(1.375rem, 3.5vw, 2.25rem);
  }
  .progress-card__stack::before,
  .progress-card__stack::after {
    position: absolute;
    border: 1px solid color-mix(in srgb, var(--cerulean-700) 16%, transparent);
    border-radius: 8px;
    content: "";
    pointer-events: none;
  }
  .progress-card__stack::before {
    inset: 0 clamp(1.25rem, 4vw, 2.5rem) 1.25rem;
    z-index: 1;
    background: color-mix(in srgb, var(--c-white) 86%, var(--cerulean-50));
    box-shadow: 0 0.625rem 1.125rem -1rem color-mix(in srgb, var(--woodsmoke-950) 28%, transparent), inset 0 1px 0 color-mix(in srgb, var(--c-white) 72%, transparent);
  }
  .progress-card__stack::after {
    inset: 0.6875rem clamp(0.625rem, 2vw, 1.25rem) 0.625rem;
    z-index: 2;
    background: color-mix(in srgb, var(--c-white) 90%, var(--malachite-50));
    box-shadow: 0 0.75rem 1.25rem -1rem color-mix(in srgb, var(--cerulean-950) 24%, transparent), inset 0 1px 0 color-mix(in srgb, var(--c-white) 76%, transparent);
  }
  .progress-card__paper {
    position: relative;
    z-index: 3;
    margin-block: 0;
    padding: clamp(1.625rem, 5vw, 3rem);
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--cerulean-700) 18%, transparent);
    border-radius: 8px;
    background: color-mix(in srgb, var(--c-white) 96%, var(--cerulean-50));
    box-shadow: 0 0.875rem 1.75rem -1rem color-mix(in srgb, var(--woodsmoke-950) 26%, transparent), 0 0.125rem 0.375rem -0.25rem color-mix(in srgb, var(--woodsmoke-950) 24%, transparent), inset 0 1px 0 color-mix(in srgb, var(--c-white) 82%, transparent);
  }
  .progress-card .title {
    display: flex;
    gap: 0.875rem;
    align-items: center;
    margin-bottom: calc(0.5 * var(--cs-gap));
    color: var(--woodsmoke-950);
  }
  .progress-card .title::before,
  .progress-card .title::after {
    display: block;
    height: 1px;
    background: var(--cerulean-500);
    content: "";
  }
  .progress-card .title::before {
    flex: 0 0 1.25rem;
  }
  .progress-card .title::after {
    flex: 1 1 auto;
    min-width: 1.5rem;
    opacity: 0.48;
  }
  .progress-card p {
    position: relative;
    color: var(--woodsmoke-700);
  }
  .progress-card a:not(.anchor) {
    color: var(--cerulean-700);
    text-decoration-color: var(--malachite-700);
    text-decoration-thickness: 0.12em;
    text-underline-offset: 0.18em;
  }
  .progress-card a:not(.anchor):hover {
    color: var(--malachite-700);
    text-decoration: underline;
  }
  .progress-card ::selection {
    color: var(--cerulean-950);
    background: color-mix(in srgb, var(--malachite-300) 36%, transparent);
  }
  @media (max-width: 760px) {
    .progress-card {
      padding-block: var(--padding-block);
    }
    .progress-card__stack {
      padding-top: 1.125rem;
    }
    .progress-card__stack::before {
      inset: 0 0.875rem 0.875rem;
    }
    .progress-card__stack::after {
      inset: 0.5rem 0.4375rem 0.4375rem;
    }
    .progress-card__paper {
      padding: 1.5rem 1.25rem;
    }
    .progress-card .title {
      margin-bottom: var(--padding-block);
    }
  }
  @media screen {
    [data-theme=dark] .progress-card {
      border-color: color-mix(in srgb, var(--c-black) 82%, var(--woodsmoke-950));
      background: linear-gradient(180deg, color-mix(in srgb, var(--c-black) 82%, var(--woodsmoke-950)) 0%, color-mix(in srgb, var(--c-black) 78%, var(--cerulean-950)) 54%, color-mix(in srgb, var(--c-black) 94%, var(--woodsmoke-950)) 100%), repeating-linear-gradient(90deg, color-mix(in srgb, var(--cerulean-950) 28%, transparent) 0 1px, transparent 1px 4.5rem), repeating-linear-gradient(0deg, color-mix(in srgb, var(--malachite-950) 18%, transparent) 0 1px, transparent 1px 4.5rem), color-mix(in srgb, var(--c-black) 88%, var(--woodsmoke-950));
      backdrop-filter: none;
      color: var(--woodsmoke-200);
      -webkit-backdrop-filter: none;
      box-shadow: inset 0 1.625rem 2.75rem -1.25rem color-mix(in srgb, var(--c-black) 96%, transparent), inset 0 -1.75rem 2.5rem -1.5rem color-mix(in srgb, var(--c-black) 88%, transparent), inset 0 1px 0 color-mix(in srgb, var(--c-black) 92%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--c-black) 96%, transparent);
    }
    [data-theme=dark] .progress-card::before {
      background: linear-gradient(135deg, transparent 0 54%, color-mix(in srgb, var(--cerulean-950) 38%, transparent) 54% 55%, transparent 55%), linear-gradient(155deg, transparent 0 56%, color-mix(in srgb, var(--malachite-950) 28%, transparent) 56% 57%, transparent 57%);
      mix-blend-mode: normal;
      opacity: 0.5;
    }
    [data-theme=dark] .progress-card::after {
      background: radial-gradient(circle at 22% 12%, color-mix(in srgb, var(--c-black) 24%, transparent), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--c-black) 34%, transparent) 0 20%, transparent 42% 100%);
    }
    [data-theme=dark] .progress-card__stack::before {
      border-color: color-mix(in srgb, var(--cerulean-300) 16%, transparent);
      background: color-mix(in srgb, var(--woodsmoke-950) 84%, var(--cerulean-950));
      box-shadow: 0 0.625rem 1.125rem -1rem color-mix(in srgb, var(--c-black) 70%, transparent), inset 0 1px 0 color-mix(in srgb, var(--cerulean-300) 10%, transparent);
    }
    [data-theme=dark] .progress-card__stack::after {
      border-color: color-mix(in srgb, var(--cerulean-300) 20%, transparent);
      background: color-mix(in srgb, var(--woodsmoke-950) 80%, var(--cerulean-950));
      box-shadow: 0 0.75rem 1.25rem -1rem color-mix(in srgb, var(--c-black) 74%, transparent), inset 0 1px 0 color-mix(in srgb, var(--cerulean-300) 12%, transparent);
    }
    [data-theme=dark] .progress-card__paper {
      border-color: color-mix(in srgb, var(--cerulean-300) 24%, transparent);
      background: color-mix(in srgb, var(--woodsmoke-950) 88%, var(--cerulean-950));
      box-shadow: 0 0.875rem 1.75rem -1rem color-mix(in srgb, var(--c-black) 78%, transparent), 0 0.125rem 0.375rem -0.25rem color-mix(in srgb, var(--c-black) 64%, transparent), inset 0 1px 0 color-mix(in srgb, var(--cerulean-300) 14%, transparent);
    }
    [data-theme=dark] .progress-card .title {
      color: var(--woodsmoke-50);
    }
    [data-theme=dark] .progress-card .title::before,
    [data-theme=dark] .progress-card .title::after {
      background: var(--cerulean-300);
    }
    [data-theme=dark] .progress-card p {
      color: var(--woodsmoke-200);
    }
    [data-theme=dark] .progress-card a:not(.anchor) {
      color: var(--cerulean-300);
    }
    [data-theme=dark] .progress-card a:not(.anchor):hover {
      color: var(--malachite-300);
    }
    [data-theme=dark] .progress-card ::selection {
      color: var(--woodsmoke-950);
      background: color-mix(in srgb, var(--malachite-400) 58%, transparent);
    }
  }
  .showcase {
    display: grid;
    grid-template-columns: 1fr;
    max-width: 100%;
    column-gap: var(--padding-inline);
    margin: 0 0 1em;
  }
  .showcase__panel {
    display: block;
    position: relative;
  }
  .showcase__panel--right {
    margin-top: calc(0.5 * var(--cs-gap));
  }
  .showcase__panel--link {
    margin: 1em 0;
    font-size: 1.1em;
    text-align: center;
  }
  .showcase__actor {
    position: relative;
    perspective: 400px;
    perspective-origin: 50% 50%;
    right: 0;
    margin: 0.625rem 1.25rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .showcase__card {
    transform-origin: center;
    transform-style: preserve-3d;
    transform: scale3d(0.9, 0.9, 0.9) translate3d(0, 0, -25px) rotateX(3deg) rotateY(20deg) rotateZ(-1.5deg);
    filter: brightness(100%);
    transition: transform 30ms, filter 30ms;
    -webkit-transition: none;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border: 0.1rem solid var(--woodsmoke-200);
    outline: 1px solid transparent;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 3.75rem 5rem -3.75rem rgba(29, 62, 82, 0.3), 0 1.25rem 2rem -1.25rem rgba(29, 62, 82, 0.1);
  }
  .showcase__card__front {
    position: relative;
    display: block;
    max-width: 100%;
    width: auto;
    height: auto;
  }
  .showcase__logo {
    position: absolute;
    top: 50%;
    width: 40%;
    padding-top: 40%;
    right: 0;
    pointer-events: none;
  }
  .showcase__logo__part {
    position: absolute;
    inset: 0 0 0 0;
    display: block;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    transform-origin: center;
    transform-style: preserve-3d;
    transition: transform 30ms;
    -webkit-transition: none;
    outline: 1px solid transparent;
  }
  .showcase__logo__part:first-child {
    transform: scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(10deg) translate3d(0, 0, 10px);
  }
  .showcase__logo__part:last-child {
    transform: scale3d(1, 1, 1) rotateX(0) rotateY(0) rotateZ(10deg) translate3d(0, 0, 25px);
  }
  [data-theme=dark] .showcase__card {
    box-shadow: 0 1.975rem 3.75rem -1.975rem rgba(72, 132, 168, 0.8), 0 0.625rem 1.25rem -0.625rem rgba(72, 132, 168, 0.3);
  }
  .svg-icon {
    display: inline-block;
    height: 1em;
    vertical-align: top;
  }
  .svg-icon--md-fs {
    font-size: 1.2em;
  }
  .svg-icon--md {
    height: 1.2em;
  }
}
@layer sections {
  .intro-section {
    --_base-color: var(--woodsmoke-500);
    --_fname-color: var(--woodsmoke-700);
    --_sname-color: var(--cerulean-600);
    --_teaser-color: inherit;
    min-height: calc(100svh - var(--padding-block-distant) * 0.5);
    display: flex !important;
    justify-content: center;
    align-items: center;
    padding: calc(var(--padding-block-frame) * 0.75) var(--padding-inline);
    margin-bottom: calc(var(--padding-block-distant) * -1);
  }
  .intro-heading {
    --fw-h: 700;
    position: relative;
    width: 100%;
    max-width: 650px;
    z-index: 50;
    transform: translateY(0);
    transition: transform 20ms linear;
    color: var(--_base-color);
  }
  .intro-greeting {
    font-size: clamp(var(--step-1, 1.25rem), 5vw, 2rem);
    line-height: 1em;
    display: inline-block;
    margin-bottom: 1.5rem;
  }
  .intro-name {
    font-size: clamp(var(--fs-h1, 2.5rem), 15vw, 6rem);
    line-height: 1em;
    margin-bottom: clamp(1.5rem, 6.8vw, 3rem);
    font-stretch: 136%;
  }
  .intro-fname {
    display: block;
    color: var(--_fname-color);
  }
  .intro-sname {
    display: block;
    white-space: nowrap;
    hyphens: none;
    color: var(--_sname-color);
  }
  .intro-dot {
    display: none;
  }
  .intro-avatar {
    display: none;
  }
  .intro-teaser {
    position: relative;
    display: inline-block;
    width: 100%;
    max-width: 460px;
    margin: 0;
    font-size: var(--step-1);
    color: var(--_teaser-color);
    line-height: 1.5em;
    word-break: break-word;
    hyphens: auto;
    hyphenate-character: "-";
    -webkit-hyphenate-character: "-";
    transform: translateY(0);
    transition: transform 20ms linear;
    z-index: 50;
  }
  [data-theme=dark] .intro-section {
    --_base-color: var(--woodsmoke-200);
    --_fname-color: var(--woodsmoke-100);
    --_sname-color: var(--cerulean-500);
  }
  .connect-section {
    --_connect-line: color-mix(in srgb, var(--cerulean-700) 20%, transparent);
    --_connect-muted: var(--woodsmoke-700);
    --_connect-title: var(--woodsmoke-950);
    position: relative;
    padding-block: clamp(2rem, 7vw, 4.75rem);
    overflow: hidden;
    isolation: isolate;
  }
  .connect-section::before {
    position: absolute;
    content: "";
    pointer-events: none;
    z-index: -1;
  }
  .connect-section::before {
    inset: 0;
    background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cerulean-600) 9%, transparent) 0 1px, transparent 1px 4.5rem), repeating-linear-gradient(0deg, color-mix(in srgb, var(--malachite-600) 7%, transparent) 0 1px, transparent 1px 4.5rem);
    -webkit-mask-image: radial-gradient(ellipse at center, black 0 24%, rgba(0, 0, 0, 0.48) 44%, transparent 72%);
    mask-image: radial-gradient(ellipse at center, black 0 24%, rgba(0, 0, 0, 0.48) 44%, transparent 72%);
  }
  .connect-section__inner {
    width: min(100% - var(--padding-inline) * 2, 64rem);
    margin-inline: auto;
  }
  .connect-section__intro {
    display: grid;
    grid-template-columns: minmax(0, 0.85fr) minmax(0, 1fr);
    gap: 0.875rem clamp(1.5rem, 5vw, 3rem);
    align-items: end;
    margin-bottom: clamp(1.5rem, 4vw, 2.5rem);
  }
  .connect-section__eyebrow {
    grid-column: 1/-1;
    margin: 0;
    color: var(--cerulean-700);
    font-family: var(--font-mono);
    font-size: var(--step--1);
    font-weight: 700;
    letter-spacing: 0;
    text-transform: uppercase;
  }
  .connect-section__title {
    margin: 0;
    color: var(--_connect-title);
    line-height: 1.05;
  }
  .connect-section__copy {
    max-width: 34rem;
    margin: 0;
    color: var(--_connect-muted);
  }
  .connect-section__links {
    display: grid;
    position: relative;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-block: 1px solid var(--_connect-line);
  }
  .connect-section__links::before {
    position: absolute;
    inset: -1px 18% auto;
    height: 1px;
    background: var(--cerulean-500);
    content: "";
  }
  .connect-section__link {
    --_link-color: var(--cerulean-700);
    position: relative;
    display: grid;
    grid-template-areas: "icon platform" "icon handle";
    grid-template-columns: 2.75rem minmax(0, 1fr);
    gap: 0.125rem 0.875rem;
    align-items: center;
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.625rem) clamp(0.75rem, 3vw, 1.25rem);
    color: var(--woodsmoke-800);
    text-align: left;
    text-decoration: none;
    transition: color 180ms ease;
  }
  .connect-section__link + .connect-section__link {
    border-left: 1px solid var(--_connect-line);
  }
  .connect-section__link::after {
    position: absolute;
    inset: auto clamp(0.75rem, 3vw, 1.25rem) -1px;
    height: 3px;
    background: var(--_link-color);
    content: "";
    opacity: 0.54;
    transform: scaleX(0.24);
    transform-origin: left;
    transition: opacity 180ms ease, transform 180ms ease;
  }
  .connect-section__link:hover,
  .connect-section__link:focus-visible {
    color: var(--_link-color);
    text-decoration: none;
  }
  .connect-section__link:hover::after,
  .connect-section__link:focus-visible::after {
    opacity: 1;
    transform: scaleX(1);
  }
  .connect-section__link:focus-visible {
    outline: 2px solid var(--_link-color);
    outline-offset: 0.375rem;
  }
  .connect-section__link--github {
    --_link-color: color-mix(in srgb, var(--woodsmoke-950) 84%, var(--cerulean-700));
  }
  .connect-section__link--gitlab {
    --_link-color: var(--malachite-700);
  }
  .connect-section__link--linkedin {
    --_link-color: var(--cerulean-700);
  }
  .connect-section__icon {
    display: grid;
    grid-area: icon;
    place-items: center;
    width: 2.5rem;
    aspect-ratio: 1;
    color: var(--_link-color);
    filter: drop-shadow(0 0.5rem 0.9rem color-mix(in srgb, var(--_link-color) 26%, transparent));
    transition: filter 180ms ease, transform 180ms ease;
  }
  .connect-section__icon svg {
    display: block;
    width: 100%;
    height: 100%;
  }
  .connect-section__link:hover .connect-section__icon,
  .connect-section__link:focus-visible .connect-section__icon {
    filter: drop-shadow(0 0.7rem 1rem color-mix(in srgb, var(--_link-color) 36%, transparent));
    transform: translateY(-0.1875rem) scale(1.06);
  }
  .connect-section__platform {
    grid-area: platform;
    min-width: 0;
    color: var(--_connect-title);
    font-size: var(--step-1);
    font-weight: 800;
    line-height: 1.1;
    transition: color 180ms ease;
  }
  .connect-section__handle {
    grid-area: handle;
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--_connect-muted);
    font-family: var(--font-mono);
    font-size: var(--step--1);
    line-height: 1.35;
    transition: color 180ms ease;
  }
  .connect-section__link:hover .connect-section__platform,
  .connect-section__link:focus-visible .connect-section__platform,
  .connect-section__link:hover .connect-section__handle,
  .connect-section__link:focus-visible .connect-section__handle {
    color: var(--_link-color);
  }
  @media (max-width: 760px) {
    .connect-section {
      padding-block: var(--padding-block);
    }
    .connect-section__intro {
      display: block;
    }
    .connect-section__title {
      margin-bottom: 0.75rem;
    }
    .connect-section__links {
      grid-template-columns: 1fr;
    }
    .connect-section__link + .connect-section__link {
      border-top: 1px solid var(--_connect-line);
      border-left: 0;
    }
  }
  @media screen {
    [data-theme=dark] .connect-section {
      --_connect-line: color-mix(in srgb, var(--cerulean-300) 18%, transparent);
      --_connect-muted: var(--woodsmoke-200);
      --_connect-title: var(--woodsmoke-50);
    }
    [data-theme=dark] .connect-section::before {
      background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--cerulean-300) 8%, transparent) 0 1px, transparent 1px 4.5rem), repeating-linear-gradient(0deg, color-mix(in srgb, var(--malachite-300) 6%, transparent) 0 1px, transparent 1px 4.5rem);
    }
    [data-theme=dark] .connect-section__eyebrow {
      color: var(--cerulean-300);
    }
    [data-theme=dark] .connect-section__link {
      color: var(--woodsmoke-100);
    }
    [data-theme=dark] .connect-section__link--github {
      --_link-color: var(--woodsmoke-50);
    }
    [data-theme=dark] .connect-section__link--gitlab {
      --_link-color: var(--malachite-300);
    }
    [data-theme=dark] .connect-section__link--linkedin {
      --_link-color: var(--cerulean-300);
    }
  }
}
@layer layout {
  .page-header {
    top: 0;
    position: fixed;
    z-index: 1000;
    left: 0;
    right: 0;
    background: black;
    backdrop-filter: none;
    border-bottom: 4px solid #1296be;
    font-size: 1rem;
  }
  .page-header code {
    color: white;
    font-size: clamp(1rem, 0.75rem + 1.25vw, 1.25rem);
    flex: 1 1 auto;
    white-space: nowrap;
    overflow: hidden;
    /*noinspection CssInvalidPropertyValue*/
    -webkit-mask-image: linear-gradient(90deg, black, black 90%, transparent);
    mask-image: linear-gradient(90deg, black, black 90%, transparent);
  }
  .page-header__blur {
    display: none;
    pointer-events: none;
  }
  .page-header .gradual-blur-em {
    display: none;
    pointer-events: none;
  }
  .ht {
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
  }
  .ht-left {
    color: var(--c-blue);
  }
  .ht-right {
    color: var(--c-erin);
  }
  .ht-char {
    color: white;
  }
  .page-title-flex::selection,
  .page-title-flex *::selection {
    color: rgb(255, 179, 208);
    background: rgba(190, 18, 84, 0.4);
  }
  .ht-char::selection,
  .ht-char *::selection {
    color: white;
  }
  /*noinspection CssInvalidPropertyValue*/
  @supports (background-image: linear-gradient(black, transparent)) and ((mask-image: linear-gradient(black, transparent)) or (-webkit-mask-image: linear-gradient(black, transparent))) {
    @media screen {
      [data-theme=dark] .page-header {
        box-shadow: none;
        border-bottom: none;
        background: transparent;
        text-shadow: 0 0 30px black, 0 0 10px black, 0 0 1px black;
      }
      [data-theme=dark] .page-header__blur {
        display: block;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        bottom: -100%;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.86), rgba(0, 0, 0, 0.618), transparent);
        --mask-image: linear-gradient(180deg, black, rgba(0, 0, 0, .5), transparent);
        -webkit-mask-image: var(--mask-image);
        mask-image: var(--mask-image);
        backdrop-filter: blur(3px); /*saturate(150%)*/
        z-index: 1001;
      }
    }
  }
  .page-header__content {
    padding-block: var(--padding-block-near);
    z-index: 1200;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .page-header nav {
    display: flex;
    gap: 1.25rem;
    position: relative;
    white-space: nowrap;
    padding-left: 0.625rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    vertical-align: middle;
  }
  /*noinspection CssInvalidPropertyValue*/
  @supports (not (mask-image: linear-gradient(black, transparent))) and (not (-webkit-mask-image: linear-gradient(black, transparent))) {
    .page-header nav::before {
      content: "";
      display: block;
      position: absolute;
      inset: -1em 100% -1em -2em;
      background: transparent;
      background: linear-gradient(90deg, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
      pointer-events: none;
    }
    @media screen {
      [data-theme=dark] .page-header nav::before {
        display: none !important;
      }
    }
  }
  .page-header nav .toggler {
    display: inline;
    /*margin-right: 1.25rem;*/
  }
  .toggler {
    pointer-events: none;
  }
  .toggler:hover .toggler-indicator {
    background-position-x: center;
    transition: 0.2s ease-out;
  }
  .toggler-opt {
    display: none;
    color: var(--c-dust);
    font-family: var(--font-sans);
    pointer-events: auto;
    padding: 0.625rem;
    margin: -0.625rem;
    cursor: pointer;
  }
  .toggler[class*=indicator-] .toggler-opt {
    transition: color 0.2s linear;
  }
  .toggler-opt:hover {
    text-decoration: none;
    color: var(--c-erin);
  }
  .toggler-indicator {
    display: none;
    width: 12px;
    height: 2px;
    background: var(--c-dark);
    position: relative;
    margin: -2px 2px 0 3px;
    vertical-align: middle;
    background-size: 300% 100%;
    background-position-x: center;
    background-image: linear-gradient(90deg, var(--c-dark) 33.3%, var(--c-cyan) 33.3%, var(--c-cyan) 66.7%, var(--c-dark) 66.7%);
    border-radius: 3px;
    pointer-events: none;
  }
  .animate .toggler-indicator {
    transition: 0.4s ease-out 0.4s;
  }
  .lang-en .toggler-opt:first-of-type {
    color: var(--c-blue);
    pointer-events: none;
  }
  .lang-en .toggler-opt:last-of-type {
    display: inline-block;
  }
  .lang-de .toggler-opt:last-of-type {
    color: var(--c-blue);
    pointer-events: none;
  }
  .lang-de .toggler-opt:first-of-type {
    display: inline-block;
  }
  .indicator-left .toggler-indicator {
    background-position-x: right;
  }
  .indicator-right .toggler-indicator {
    background-position-x: left;
  }
  .theme-toggler {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    padding: 12px;
    margin: -12px;
    cursor: pointer;
    vertical-align: top;
  }
  .theme-toggler svg {
    display: block;
    height: 1.2rem;
    transition: 0.2s ease;
    fill: var(--c-dust);
  }
  .theme-toggler:hover svg {
    fill: var(--c-blue);
  }
  .below-header {
    margin-top: var(--padding-block);
  }
  .page-content {
    margin-bottom: var(--padding-block-frame);
    width: 100%;
  }
  .page-footer {
    margin-top: auto;
  }
  .page-footer__content,
  .page-footer__links {
    display: flex;
    gap: 1.25rem;
  }
  .page-footer__content {
    padding-block: var(--padding-block-near);
    flex-direction: row;
    justify-content: flex-start;
    flex-wrap: wrap-reverse;
    align-content: center;
  }
  .grid,
  .content,
  .feature {
    --_padding-inline: var(--padding-inline, clamp(1.25rem, 6vw, 2rem));
    --_gap-block: 0;
    --_content-max-width: var(--content-max-width, 70ch);
    --_breakout-max-width: var(--breakout-max-width, 85ch);
    --_frame-max-width: calc(var(--_breakout-max-width) + (var(--_padding-inline) * 2));
    --_feature-max-width: var(--feature-max-width, 100ch);
    --_breakout-side-max-width: calc((var(--_breakout-max-width) - var(--_content-max-width)) / 2);
    --_frame-side-max-width: calc((var(--_frame-max-width) - var(--_breakout-max-width)) / 2);
    --_feature-side-max-width: calc((var(--_feature-max-width) - var(--_frame-max-width)) / 2);
    --_content: min(100% - (var(--_padding-inline) * 2), var(--_content-max-width));
    --_breakout: minmax(0, var(--_breakout-side-max-width));
    --_frame: minmax(var(--_padding-inline), var(--_frame-side-max-width));
    --_feature: minmax(0, var(--_feature-side-max-width));
  }
  .content,
  .feature {
    display: block;
    margin-inline: auto;
  }
  .content {
    width: var(--_content);
    max-width: var(--_content-max-width);
  }
  .feature {
    width: var(--_feature);
    max-width: var(--_feature-max-width);
  }
  .grid {
    display: grid;
    width: 100%;
    gap: var(--_gap-block) 0;
    justify-content: center;
  }
  .grid--no-pad {
    --_padding-inline: 0px;
  }
  .grid--gap {
    --_gap-block: var(--padding-block-distant);
  }
  .grid {
    grid-template-columns: [full-start] 1fr [feature-start] var(--_feature) [frame-start] var(--_frame) [breakout-start] var(--_breakout) [content-start] var(--_content) [content-end] var(--_breakout) [breakout-end] var(--_frame) [frame-end] var(--_feature) [feature-end] 1fr [full-end];
  }
  .grid > * {
    grid-column: content;
  }
  .span-full {
    grid-column: full;
  }
  .span-feature {
    grid-column: feature;
  }
  .span-frame {
    grid-column: frame;
  }
  .span-breakout {
    grid-column: breakout;
  }
  .span-content {
    grid-column: content;
  }
  .start-full {
    grid-column-start: full;
  }
  .start-frame {
    grid-column-start: frame;
  }
  .start-feature {
    grid-column-start: feature;
  }
  .start-breakout {
    grid-column-start: breakout;
  }
  .start-content {
    grid-column-start: content;
  }
  .end-full {
    grid-column-end: full;
  }
  .end-frame {
    grid-column-end: frame;
  }
  .end-feature {
    grid-column-end: feature;
  }
  .end-breakout {
    grid-column-end: breakout;
  }
  .end-content {
    grid-column-end: content;
  }
  .legal-container {
    hyphens: auto;
    hyphenate-character: "-";
    overflow-wrap: break-word;
  }
  .legal-container address,
  .legal-container p {
    --fs-p: var(--step-0);
  }
  .legal-container address + address {
    padding-top: 0;
    border-radius: 0;
  }
  .legal-container address:last-of-type {
    border-bottom-left-radius: var(--_border-radius);
    border-bottom-right-radius: var(--_border-radius);
  }
  .legal-container ul li {
    margin: 0.5em 0;
  }
  .legal-container ul {
    padding: 0 0 0 1.1rem;
    list-style: "– ";
  }
}
@layer utilities {
  .anchor {
    position: relative;
    display: block;
    height: 0;
    width: 0;
    overflow: hidden;
    opacity: 0;
    transform: translateY(-20vh);
    visibility: hidden;
  }
  .anchor--home {
    transform: translateY(-1000px);
  }
  .relative {
    position: relative !important;
  }
  .static {
    position: static !important;
  }
  .color-erin {
    color: var(--c-erin);
  }
  .color-cyan {
    color: var(--c-cyan);
  }
  .color-ln {
    color: var(--brand-ln);
  }
  .color-idp {
    color: var(--brand-idp);
  }
  /*.color-white  { color: var(--c-white);   }*/
  /*.color-green  { color: var(--c-green);   }*/
  /*.color-blue   { color: var(--c-blue);    }*/
  /*.color-purple { color: var(--c-purple);  }*/
  /*.color-gray   { color: var(--c-dark);    }*/
  /*.color-dust   { color: var(--c-dust);    }*/
  .text-highlight {
    color: var(--text-color-highlight);
  }
  .text-center {
    text-align: center;
  }
  .font-mono {
    font-family: var(--font-mono);
  }
  .fs-1em {
    font-size: 1em;
  }
  .no-font {
    font-size: 0;
    line-height: 0;
  }
  .no-wrap-s {
    white-space: nowrap;
  }
  .no-break {
    white-space: nowrap;
    word-break: keep-all;
    line-break: strict;
    hyphens: none;
  }
  .va-middle {
    vertical-align: middle;
  }
  .va-bottom {
    vertical-align: bottom;
  }
  .row-span-2 {
    grid-row: span 2;
  }
  .text-center {
    text-align: center;
  }
  .text-justify {
    text-align: justify;
  }
  .pad-inline {
    padding-inline: var(--padding-inline);
  }
  .mt-0 {
    margin-top: 0;
  }
  .mb-0 {
    margin-bottom: 0;
  }
  .mt-distant {
    margin-block-start: var(--padding-block-distant);
  }
}

/*# sourceMappingURL=base-1405df66cb.output.css.map */
