:where(html) {
  --animation-fade-in: fade-in .5s var(--ease-3);
  --animation-fade-out: fade-out .5s var(--ease-3);
  --animation-scale-up: scale-up .5s var(--ease-3);
  --animation-scale-down: scale-down .5s var(--ease-3);
  --animation-slide-out-up: slide-out-up .5s var(--ease-3);
  --animation-slide-out-down: slide-out-down .5s var(--ease-3);
  --animation-slide-out-right: slide-out-right .5s var(--ease-3);
  --animation-slide-out-left: slide-out-left .5s var(--ease-3);
  --animation-slide-in-up: slide-in-up .5s var(--ease-3);
  --animation-slide-in-down: slide-in-down .5s var(--ease-3);
  --animation-slide-in-right: slide-in-right .5s var(--ease-3);
  --animation-slide-in-left: slide-in-left .5s var(--ease-3);
  --animation-shake-x: shake-x .75s var(--ease-out-5);
  --animation-shake-y: shake-y .75s var(--ease-out-5);
  --animation-spin: spin 2s linear infinite;
  --animation-ping: ping 5s var(--ease-out-3) infinite;
  --animation-blink: blink 1s var(--ease-out-3) infinite;
  --animation-float: float 3s var(--ease-in-out-3) infinite;
  --animation-bounce: bounce 2s var(--ease-squish-2) infinite;
  --animation-pulse: pulse 2s var(--ease-out-3) infinite;
}

@keyframes fade-in {
  to {
    opacity: 1;
  }
}
@keyframes fade-out {
  to {
    opacity: 0;
  }
}
@keyframes scale-up {
  to {
    transform: scale(1.25);
  }
}
@keyframes scale-down {
  to {
    transform: scale(0.75);
  }
}
@keyframes slide-out-up {
  to {
    transform: translateY(-100%);
  }
}
@keyframes slide-out-down {
  to {
    transform: translateY(100%);
  }
}
@keyframes slide-out-right {
  to {
    transform: translateX(100%);
  }
}
@keyframes slide-out-left {
  to {
    transform: translateX(-100%);
  }
}
@keyframes slide-in-up {
  from {
    transform: translateY(100%);
  }
}
@keyframes slide-in-down {
  from {
    transform: translateY(-100%);
  }
}
@keyframes slide-in-right {
  from {
    transform: translateX(-100%);
  }
}
@keyframes slide-in-left {
  from {
    transform: translateX(100%);
  }
}
@keyframes shake-x {
  0%, 100% {
    transform: translateX(0%);
  }
  20% {
    transform: translateX(-5%);
  }
  40% {
    transform: translateX(5%);
  }
  60% {
    transform: translateX(-5%);
  }
  80% {
    transform: translateX(5%);
  }
}
@keyframes shake-y {
  0%, 100% {
    transform: translateY(0%);
  }
  20% {
    transform: translateY(-5%);
  }
  40% {
    transform: translateY(5%);
  }
  60% {
    transform: translateY(-5%);
  }
  80% {
    transform: translateY(5%);
  }
}
@keyframes spin {
  to {
    transform: rotate(1turn);
  }
}
@keyframes ping {
  90%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
@keyframes blink {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
@keyframes float {
  50% {
    transform: translateY(-25%);
  }
}
@keyframes bounce {
  25% {
    transform: translateY(-20%);
  }
  40% {
    transform: translateY(-3%);
  }
  0%, 60%, 100% {
    transform: translateY(0);
  }
}
@keyframes pulse {
  50% {
    transform: scale(0.9, 0.9);
  }
}
:where(html) {
  --ratio-square: 1;
  --ratio-landscape: 4/3;
  --ratio-portrait: 3/4;
  --ratio-widescreen: 16/9;
  --ratio-ultrawide: 18/5;
  --ratio-golden: 1.6180/1;
}

:where(html) {
  --border-size-1: 1px;
  --border-size-2: 2px;
  --border-size-3: 5px;
  --border-size-4: 10px;
  --border-size-5: 25px;
  --radius-1: 2px;
  --radius-2: 5px;
  --radius-3: 1rem;
  --radius-4: 2rem;
  --radius-5: 4rem;
  --radius-6: 8rem;
  --radius-round: 1e5px;
  --radius-conditional-1: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-1));
  --radius-conditional-2: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-2));
  --radius-conditional-3: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-3));
  --radius-conditional-4: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-4));
  --radius-conditional-5: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-5));
  --radius-conditional-6: clamp(0px, calc(100vw - 100%) * 1e5, var(--radius-6));
}

:where(html) {
  --color-blue-0: #dcdeef;
  --color-blue-1: #babddf;
  --color-blue-2: #8b91ca;
  --color-blue-3: #5c65b5;
  --color-blue-4: #3944a5;
  --color-blue-5: #162395;
  --color-blue-6: #121c77;
  --color-blue-7: #0d1559;
  --color-blue-8: #0a1043;
  --color-blue-9: #05092e;
  --color-gray-0: #f0f0f5;
  --color-gray-1: #d0d1d9;
  --color-gray-2: #b9bbc9;
  --color-gray-3: #9b9db0;
  --color-gray-4: #898ba1;
  --color-gray-5: #71738a;
  --color-gray-6: #64667d;
  --color-gray-7: #4e4f61;
  --color-gray-8: #373845;
  --color-gray-9: #292a33;
  --color-green-0: #ebfae6;
  --color-green-1: #c0efb0;
  --color-green-2: #a1e88a;
  --color-green-3: #76dd54;
  --color-green-4: #5cd633;
  --color-green-5: #33cc00;
  --color-green-6: #2eba00;
  --color-green-7: #249100;
  --color-green-8: #1c7000;
  --color-green-9: #155600;
  --color-indigo-0: #edf2ff;
  --color-indigo-1: #dbe4ff;
  --color-indigo-2: #bac8ff;
  --color-indigo-3: #91a7ff;
  --color-indigo-4: #748ffc;
  --color-indigo-5: #5c7cfa;
  --color-indigo-6: #4c6ef5;
  --color-indigo-7: #4263eb;
  --color-indigo-8: #3b5bdb;
  --color-indigo-9: #364fc7;
  --color-orange-0: #fff5e6;
  --color-orange-1: #ffdfb0;
  --color-orange-2: #ffd08a;
  --color-orange-3: #ffbb54;
  --color-orange-4: #ffad33;
  --color-orange-5: #ff9900;
  --color-orange-6: #e97e00;
  --color-orange-7: #e76f00;
  --color-orange-8: #e76107;
  --color-orange-9: #e74a09;
  --color-red-0: #ffebe6;
  --color-red-1: #ffc0b0;
  --color-red-2: #ffa18a;
  --color-red-3: #ff7654;
  --color-red-4: #ff5c33;
  --color-red-5: #ff3300;
  --color-red-6: #e82e00;
  --color-red-7: #b52400;
  --color-red-8: #8c1c00;
  --color-red-9: #6b1500;
  --color-yellow-0: #fff9db;
  --color-yellow-1: #fff3bf;
  --color-yellow-2: #ffec99;
  --color-yellow-3: #ffe066;
  --color-yellow-4: #ffd43b;
  --color-yellow-5: #fcc419;
  --color-yellow-6: #fab005;
  --color-yellow-7: #f59f00;
  --color-yellow-8: #f08c00;
  --color-yellow-9: #e67700;
  --color-ghost-white: #f2fbfd;
  --color-water: #f0f5f8;
  --color-harp: #eaedf6;
  --color-heather: #b6c3e5;
  --color-pastel-blue: #78c0ff;
  --color-havelock-blue: #6090cf;
  --color-cornflower: #5E6EE6;
  --color-water-blue: #0070d2;
  --color-mariner: #016ece;
  --color-mirage: #171e36;
  --color-red: #d00;
  --color-thunderbird: #c13515;
  --color-romance: #fbf4f4;
  --color-alabaster: #fafafa;
  --color-iron: #d8d8d8;
  --color-nebula: #d3d3d3;
  --color-silk: #b0b0b0;
  --color-nobel: #b0b0b0;
  --color-aluminium: #a9a9a9;
  --color-geyser: #d5dde9;
  --color-cloudy-gray: #717171;
  --color-dorado: #5e5e5e;
  --color-gravel: #4a4a4a;
  --color-thunder: #2b2b2b;
  --color-oil: #222;
  --color-black: #000;
  --color-black-05: rgb(0 0 0 / 5%);
  --color-black-10: rgb(0 0 0 / 10%);
  --color-black-12: rgb(0 0 0 / 12%);
  --color-black-20: rgb(0 0 0 / 20%);
  --color-black-30: rgb(0 0 0 / 30%);
  --color-black-40: rgb(0 0 0 / 40%);
  --color-black-50: rgb(0 0 0 / 50%);
  --color-black-60: rgb(0 0 0 / 60%);
  --color-black-90: rgb(0 0 0 / 90%);
  --color-white: #fff;
  --color-white-07: rgb(255 255 255 / 7%);
  --color-white-10: rgb(255 255 255 / 10%);
  --color-white-20: rgb(255 255 255 / 20%);
  --color-white-30: rgb(255 255 255 / 30%);
  --color-white-50: rgb(255 255 255 / 50%);
  --color-white-60: rgb(255 255 255 / 60%);
  --color-white-70: rgb(255 255 255 / 70%);
  --color-white-80: rgb(255 255 255 / 80%);
  --heading-color: var(--color-black);
  --text-color: var(--color-thunder);
  --background-color: var(--color-white);
}

:where(html) {
  --ease-1: cubic-bezier(.25, 0, .5, 1);
  --ease-2: cubic-bezier(.25, 0, .4, 1);
  --ease-3: cubic-bezier(.25, 0, .3, 1);
  --ease-4: cubic-bezier(.25, 0, .2, 1);
  --ease-5: cubic-bezier(.25, 0, .1, 1);
  --ease-in-1: cubic-bezier(.25, 0, 1, 1);
  --ease-in-2: cubic-bezier(.50, 0, 1, 1);
  --ease-in-3: cubic-bezier(.70, 0, 1, 1);
  --ease-in-4: cubic-bezier(.90, 0, 1, 1);
  --ease-in-5: cubic-bezier(1, 0, 1, 1);
  --ease-out-1: cubic-bezier(0, 0, .75, 1);
  --ease-out-2: cubic-bezier(0, 0, .50, 1);
  --ease-out-3: cubic-bezier(0, 0, .3, 1);
  --ease-out-4: cubic-bezier(0, 0, .1, 1);
  --ease-out-5: cubic-bezier(0, 0, 0, 1);
  --ease-in-out-1: cubic-bezier(.1, 0, .9, 1);
  --ease-in-out-2: cubic-bezier(.3, 0, .7, 1);
  --ease-in-out-3: cubic-bezier(.5, 0, .5, 1);
  --ease-in-out-4: cubic-bezier(.7, 0, .3, 1);
  --ease-in-out-5: cubic-bezier(.9, 0, .1, 1);
  --ease-elastic-1: cubic-bezier(.5, .75, .75, 1.25);
  --ease-elastic-2: cubic-bezier(.5, 1, .75, 1.25);
  --ease-elastic-3: cubic-bezier(.5, 1.25, .75, 1.25);
  --ease-elastic-4: cubic-bezier(.5, 1.5, .75, 1.25);
  --ease-elastic-5: cubic-bezier(.5, 1.75, .75, 1.25);
  --ease-squish-1: cubic-bezier(.5, -.1, .1, 1.5);
  --ease-squish-2: cubic-bezier(.5, -.3, .1, 1.5);
  --ease-squish-3: cubic-bezier(.5, -.5, .1, 1.5);
  --ease-squish-4: cubic-bezier(.5, -.7, .1, 1.5);
  --ease-squish-5: cubic-bezier(.5, -.9, .1, 1.5);
  --ease-step-1: steps(2);
  --ease-step-2: steps(3);
  --ease-step-3: steps(4);
  --ease-step-4: steps(7);
  --ease-step-5: steps(10);
}

:where(html) {
  --font-sans: "Inter", Helvetica, sans-serif;
  --font-serif: Georgia, "Times New Roman", Times, serif;
  --font-mono: Menlo, Consolas, "Lucida Console", "Liberation Mono", "Courier New", monospace, sans-serif;
  --font-weight-100: 100;
  --font-weight-200: 200;
  --font-weight-300: 300;
  --font-weight-400: 400;
  --font-weight-500: 500;
  --font-weight-600: 600;
  --font-weight-700: 700;
  --font-weight-800: 800;
  --font-weight-900: 900;
  --font-size-000: 0.625rem;
  --font-size-00: 0.75rem;
  --font-size-0: 0.875rem;
  --font-size-1: 1rem;
  --font-size-2: 1.125rem;
  --font-size-3: 1.25rem;
  --font-size-4: 1.375rem;
  --font-size-5: 1.5rem;
  --font-size-6: 1.75rem;
  --font-size-7: 2rem;
  --font-size-8: 2.25rem;
  --font-size-9: 2.5rem;
  --font-size-10: 3rem;
  --font-size-11: 3.5rem;
  --font-size-12: 4rem;
  --font-size-13: 5rem;
  --font-size-14: 7.5rem;
  --font-lineheight-00: .95;
  --font-lineheight-1: 1.1;
  --font-lineheight-2: 1.25;
  --font-lineheight-3: 1.375;
  --font-lineheight-4: 1.5;
  --font-lineheight-5: 1.75;
  --font-lineheight-6: 2;
  --font-letterspacing-0: -0.05em;
  --font-letterspacing-1: 0.025em;
  --font-letterspacing-2: 0.050em;
  --font-letterspacing-3: 0.75em;
  --font-letterspacing-4: 0.150em;
  --font-letterspacing-5: 0.500em;
  --font-letterspacing-6: 0.750em;
  --font-letterspacing-7: 1em;
}

:where(html) {
  --layout-gutter: var(--size-3);
  --layout-max-width: 1280px;
  --content-max-width: 860px;
  --grid-gap: var(--size-2);
  --vertical-margin: var(--size-15);
}
@media (min-width: 580px) {
  :where(html) {
    --layout-gutter: var(--size-5);
  }
}
@media (min-width: 1024px) {
  :where(html) {
    --vertical-margin: 12rem;
    --layout-gutter: var(--size-9);
  }
}

:where(html) {
  --shadow-color: 220 3% 15%;
  --shadow-strength: 1%;
  --shadow-1: 0 1px 2px -1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
  --shadow-2:
    0 3px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 7px 14px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%));
  --shadow-3:
    0 -1px 3px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 1px 2px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 2px 5px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
    0 4px 12px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
    0 12px 15px -5px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));
  --shadow-4:
    0 -2px 5px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 1px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 2px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
    0 9px 9px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
    0 16px 16px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%));
  --shadow-5:
    0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 2px 1px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 5px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 10px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
    0 20px 20px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
    0 40px 40px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));
  --shadow-6:
    0 -1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 2%)),
    0 3px 2px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 7px 5px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 3%)),
    0 12px 10px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 4%)),
    0 22px 18px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 5%)),
    0 41px 33px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 6%)),
    0 100px 80px -2px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 7%));
  --inner-shadow-0: inset 0 0 0 1px hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
  --inner-shadow-1: inset 0 1px 2px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
  --inner-shadow-2: inset 0 1px 4px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
  --inner-shadow-3: inset 0 2px 8px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
  --inner-shadow-4: inset 0 2px 14px 0 hsl(var(--shadow-color) / calc(var(--shadow-strength) + 9%));
}

:where(html) {
  --size-xs: 0.063rem;
  --size-sm: 0.125rem;
  --size-05: 0.25rem;
  --size-1: 0.5rem;
  --size-105: 0.75rem;
  --size-2: 1rem;
  --size-205: 1.25rem;
  --size-3: 1.5rem;
  --size-4: 2rem;
  --size-5: 2.5rem;
  --size-6: 3rem;
  --size-7: 3.5rem;
  --size-8: 4rem;
  --size-9: 4.5rem;
  --size-10: 5rem;
  --size-11: 5.5rem;
  --size-12: 6rem;
  --size-13: 6.5rem;
  --size-14: 7rem;
  --size-15: 7.5rem;
  --size-20: 10rem;
  --size-fluid-1: clamp(.5rem, 1vw, 1rem);
  --size-fluid-2: clamp(1rem, 2vw, 1.5rem);
  --size-fluid-3: clamp(1.5rem, 3vw, 2rem);
  --size-fluid-4: clamp(2rem, 4vw, 3rem);
  --size-fluid-5: clamp(4rem, 5vw, 5rem);
  --size-fluid-6: clamp(5rem, 7vw, 7.5rem);
  --size-fluid-7: clamp(7.5rem, 10vw, 10rem);
  --size-fluid-8: clamp(10rem, 20vw, 15rem);
  --size-fluid-9: clamp(15rem, 30vw, 20rem);
  --size-fluid-10: clamp(20rem, 40vw, 30rem);
  --size-content-1: 20ch;
  --size-content-2: 45ch;
  --size-content-3: 60ch;
  --size-header-1: 20ch;
  --size-header-2: 25ch;
  --size-header-3: 35ch;
}

:where(html) {
  --layer-1: 1;
  --layer-2: 2;
  --layer-3: 3;
  --layer-4: 4;
  --layer-5: 5;
  --layer-important: 2147483647;
}

.visually-hidden {
  border: 0;
  clip: rect(1px 1px 1px 1px);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  white-space: nowrap;
  width: 1px;
  word-wrap: normal;
}
.visually-hidden.focusable:focus, .visually-hidden.focusable:active {
  clip: auto;
  clip-path: none;
  height: auto;
  overflow: visible;
  position: static;
  white-space: inherit;
  width: auto;
}

.hidden {
  display: none;
}

.invisible {
  visibility: hidden;
}

.l-constrain {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--layout-max-width);
  padding-left: var(--layout-gutter);
  padding-right: var(--layout-gutter);
}
.l-constrain .l-constrain {
  padding-left: 0;
  padding-right: 0;
}

.l-constrain--no-padding {
  padding-left: 0;
  padding-right: 0;
}

.l-content-constrain {
  margin-left: auto;
  margin-right: auto;
  max-width: var(--content-max-width);
}

.clearfix::after {
  clear: both;
  content: "";
  display: table;
}

*,
::before,
::after {
  box-sizing: border-box;
}

@media print {
  * {
    background-color: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    text-shadow: none !important;
  }
}
@page {
  * {
    margin: 2cm;
  }
}

:where(:focus-visible) {
  outline-color: var(--color-indigo-7);
  outline-offset: 5px;
  transition: outline-offset 145ms var(--ease-2);
}

:where(:not(fieldset, progress, meter)) {
  border-width: 0;
  border-style: solid;
  background-origin: border-box;
  background-repeat: no-repeat;
}

:where(:not(pre) > code, kbd) {
  white-space: nowrap;
}

:where(:not(pre) > code) {
  padding: var(--size-1) var(--size-2);
  background: var(--color-gray-2);
  border-radius: var(--radius-2);
}

:where(:not(dialog)) {
  margin: 0;
}

:where([tabindex]:not([tabindex*="-"])) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(html) {
  --accent-color: var(--color-blue-6);
  --caret-color: var(--color-blue-6);
  --scrollbar-color: var(--color-gray-7);
  accent-color: var(--accent-color);
  background-color: white;
  block-size: 100%;
  caret-color: var(--caret-color);
  color: var(--text-color);
  font-family: var(--font-sans);
  line-height: var(--font-lineheight-4);
  min-height: 100%;
  scrollbar-color: var(--scrollbar-color) transparent;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}
@media screen and (prefers-reduced-motion: no-preference) {
  :where(html) {
    scroll-behavior: smooth;
  }
}
:where(html):has(dialog[open]) {
  overflow: hidden;
}

:where(body) {
  margin: 0;
  min-block-size: 100%;
  padding: 0;
  scrollbar-gutter: stable both-edges;
  word-wrap: break-word;
}

:where(main) {
  display: block;
}

:where(menu) {
  display: flex;
  gap: var(--size-3);
  padding-inline-start: 0;
}

@media print {
  :where(nav) {
    display: none;
  }
}

:where(details) {
  background: var(--color-gray-2);
  border-radius: var(--radius-2);
  padding-block: var(--size-2);
  padding-inline: var(--size-3);
}
:where(details)[open] > summary {
  border-end-end-radius: 0;
  border-end-start-radius: 0;
  margin-bottom: var(--size-2);
}
:where(details) p:last-child {
  margin-bottom: 0;
}
form > :where(details) {
  margin-bottom: var(--size-205);
}

:where(summary) {
  background: var(--color-gray-3);
  border-radius: var(--radius-2);
  cursor: pointer;
  font-weight: var(--font-weight-700);
  margin: calc(var(--size-2) * -1) calc(var(--size-3) * -1);
  padding: var(--size-2) var(--size-3);
  touch-action: manipulation;
}

:where(iframe) {
  display: block;
}
@media print {
  :where(iframe) {
    display: none;
  }
}

h1 {
  color: var(--color-gray-9);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-900);
  -webkit-hyphens: none;
  hyphens: none;
  line-height: var(--font-lineheight-4);
  margin: 0 0 var(--size-1);
  text-rendering: optimizeLegibility;
}
@media print {
  h1 {
    orphans: 3;
    page-break-after: avoid;
    widows: 3;
  }
  h1::after {
    display: inline-block;
  }
}
* + h1 {
  margin-top: var(--size-2);
}
h1 a {
  color: inherit;
  font-weight: inherit;
}
h1 {
  font-size: var(--font-size-10);
}

h2 {
  color: var(--color-gray-9);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-900);
  -webkit-hyphens: none;
  hyphens: none;
  line-height: var(--font-lineheight-4);
  margin: 0 0 var(--size-1);
  text-rendering: optimizeLegibility;
}
@media print {
  h2 {
    orphans: 3;
    page-break-after: avoid;
    widows: 3;
  }
  h2::after {
    display: inline-block;
  }
}
* + h2 {
  margin-top: var(--size-2);
}
h2 a {
  color: inherit;
  font-weight: inherit;
}
h2 {
  font-size: var(--font-size-8);
}

h3 {
  color: var(--color-gray-9);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-900);
  -webkit-hyphens: none;
  hyphens: none;
  line-height: var(--font-lineheight-4);
  margin: 0 0 var(--size-1);
  text-rendering: optimizeLegibility;
}
@media print {
  h3 {
    orphans: 3;
    page-break-after: avoid;
    widows: 3;
  }
  h3::after {
    display: inline-block;
  }
}
* + h3 {
  margin-top: var(--size-2);
}
h3 a {
  color: inherit;
  font-weight: inherit;
}
h3 {
  font-size: var(--font-size-6);
}

h4 {
  color: var(--color-gray-9);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-900);
  -webkit-hyphens: none;
  hyphens: none;
  line-height: var(--font-lineheight-4);
  margin: 0 0 var(--size-1);
  text-rendering: optimizeLegibility;
}
@media print {
  h4 {
    orphans: 3;
    page-break-after: avoid;
    widows: 3;
  }
  h4::after {
    display: inline-block;
  }
}
* + h4 {
  margin-top: var(--size-2);
}
h4 a {
  color: inherit;
  font-weight: inherit;
}
h4 {
  font-size: var(--font-size-5);
}

h5 {
  color: var(--color-gray-9);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-900);
  -webkit-hyphens: none;
  hyphens: none;
  line-height: var(--font-lineheight-4);
  margin: 0 0 var(--size-1);
  text-rendering: optimizeLegibility;
}
@media print {
  h5 {
    orphans: 3;
    page-break-after: avoid;
    widows: 3;
  }
  h5::after {
    display: inline-block;
  }
}
* + h5 {
  margin-top: var(--size-2);
}
h5 a {
  color: inherit;
  font-weight: inherit;
}
h5 {
  font-size: var(--font-size-3);
}

h6 {
  color: var(--color-gray-9);
  font-family: var(--font-sans);
  font-weight: var(--font-weight-900);
  -webkit-hyphens: none;
  hyphens: none;
  line-height: var(--font-lineheight-4);
  margin: 0 0 var(--size-1);
  text-rendering: optimizeLegibility;
}
@media print {
  h6 {
    orphans: 3;
    page-break-after: avoid;
    widows: 3;
  }
  h6::after {
    display: inline-block;
  }
}
* + h6 {
  margin-top: var(--size-2);
}
h6 a {
  color: inherit;
  font-weight: inherit;
}
h6 {
  font-size: var(--font-size-1);
}

h1 + h1,
h1 + h2,
h1 + h3,
h1 + h4,
h1 + h5,
h1 + h6,
h2 + h1,
h2 + h2,
h2 + h3,
h2 + h4,
h2 + h5,
h2 + h6,
h3 + h1,
h3 + h2,
h3 + h3,
h3 + h4,
h3 + h5,
h3 + h6,
h4 + h1,
h4 + h2,
h4 + h3,
h4 + h4,
h4 + h5,
h4 + h6,
h5 + h1,
h5 + h2,
h5 + h3,
h5 + h4,
h5 + h5,
h5 + h6,
h6 + h1,
h6 + h2,
h6 + h3,
h6 + h4,
h6 + h5,
h6 + h6 {
  margin-top: 0;
}

:where(p) {
  font-size: var(--font-size-2);
  margin-bottom: var(--size-2);
  margin-top: 0;
}
@media print {
  :where(p) {
    orphans: 3;
    widows: 3;
  }
}

:where(p:last-child) {
  margin-bottom: 0;
}

:where(a) {
  background-color: transparent;
  transition-duration: 200ms;
  transition-property: background-color, border-color, color, outline-color, text-decoration-color;
  transition-timing-function: var(--ease-in-out-2);
}
:where(a):where([href]) {
  color: var(--text-color);
  text-decoration-color: var(--text-color);
}
:where(a):where([href]):where(:hover) {
  text-decoration-color: var(--text-color);
  -webkit-text-decoration: double;
  text-decoration: double;
}
:where(a):where(:not(:hover)) {
  text-decoration: underline;
}
@media print {
  :where(a), :where(a):visited {
    text-decoration: none;
  }
  :where(a)[href]::after {
    content: " <" attr(href) ">";
    font-family: var(--font-sans);
    font-size: 10pt;
    font-weight: normal;
    text-transform: lowercase;
  }
  :where(a)[href^="javascript:"]::after, :where(a)[href^="mailto:"]::after, :where(a)[href^="tel:"]::after, :where(a)[href^="#"]::after, :where(a)[href*="?"]::after {
    content: "";
  }
}

:where(abbr) {
  text-decoration-color: var(--text-color);
  text-underline-offset: var(--size-xs);
}
:where(abbr):hover {
  cursor: help;
}
@media print {
  :where(abbr)[title]::after {
    content: " (" attr(title) ")";
  }
}

:where(b) {
  font-weight: var(--font-weight-900);
}

:where(cite) {
  color: var(--color-gray-6);
  font-family: var(--font-sans);
  font-size: var(--font-size-0);
  font-style: normal;
  font-weight: var(--font-weight-600);
  letter-spacing: var(--font-letterspacing-1);
  line-height: var(--font-lineheight-1);
}

:where(code) {
  font-family: var(--font-mono);
}

:where(del) {
  background-color: var(--color-red-9);
  color: var(--color-red-1);
}

:where(dfn) {
  font-style: italic;
}

:where(ins) {
  background-color: var(--color-green-9);
  color: var(--color-green-1);
  text-underline-offset: var(--size-xs);
}

:where(kbd) {
  border-color: var(--color-gray-4);
  border-radius: var(--radius-2);
  border-width: var(--border-size-1);
  font-family: var(--font-mono);
  padding: var(--size-1) var(--size-2);
}

:where(mark) {
  border-radius: var(--radius-2);
  padding-inline: var(--size-1);
}

:where(samp) {
  font-family: var(--font-mono);
}

:where(small) {
  font-size: max(0.5em, var(--font-size-0));
}

:where(strong) {
  font-weight: var(--font-weight-700);
}

:where(sub) {
  bottom: -0.25em;
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

:where(sup) {
  font-size: 75%;
  line-height: 0;
  position: relative;
  top: -0.5em;
  vertical-align: baseline;
}

:where(u) {
  text-underline-offset: var(--size-xs);
}

:where(var) {
  border-color: var(--color-gray-4);
  border-radius: var(--radius-2);
  border-width: var(--border-size-1);
  padding: var(--size-1) var(--size-2);
}

:where(blockquote) {
  border-inline-start-width: var(--border-size-3);
  display: grid;
  font-size: var(--font-size-2);
  gap: var(--size-3);
  margin: 0 0 var(--size-5);
  padding-block: var(--size-3);
  padding-inline: var(--size-4);
}
* + :where(blockquote) {
  margin-top: var(--size-5);
}
:where(blockquote) p {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
}
@media print {
  :where(blockquote) {
    page-break-inside: avoid;
  }
}

:where(:not(blockquote) > cite) {
  padding-inline-start: var(--size-2);
}

:where(pre) {
  font-family: var(--font-mono);
  min-inline-size: 0;
  white-space: pre;
}
@media print {
  :where(pre) {
    page-break-inside: avoid;
  }
}

:where(hr) {
  background-color: var(--color-gray-3);
  height: var(--border-size-2);
  margin-block: var(--size-fluid-2);
}

:where(address) {
  font-style: normal;
  margin-bottom: var(--size-2);
  line-height: inherit;
}

:where(ul) {
  font-size: var(--font-size-2);
  padding-inline-start: var(--size-4);
}

:where(ol) {
  font-size: var(--font-size-2);
  padding-inline-start: var(--size-4);
}

:where(li) {
  padding-inline-start: var(--size-1);
}
@media print {
  :where(li) {
    page-break-inside: avoid;
  }
}

:where(dd) {
  margin-bottom: var(--size-4);
}
dt + :where(dd) {
  margin-top: 0;
}

:where(dt) {
  font-weight: var(--font-weight-700);
}
:where(dt):not(:first-of-type) {
  margin-block-start: var(--size-5);
}

:where(dl) {
  font-size: var(--font-size-2);
}

:where(caption) {
  color: var(--color-gray-5);
  padding-bottom: var(--size-1);
  padding-top: var(--size-1);
  text-align: left;
}

:where(table) {
  border-collapse: collapse;
  border-color: var(--color-gray-2);
  caption-side: bottom;
  color: var(--color-gray-8);
  margin-bottom: var(--size-2);
  vertical-align: top;
  width: 100%;
}
:where(table) > :not(caption) > * > * {
  background-color: transparent;
  border-bottom-width: var(--border-size-1);
  padding: var(--size-1);
}
:where(table) > tbody {
  vertical-align: inherit;
}
:where(table) > thead {
  vertical-align: bottom;
}
:where(table) > :not(:first-child) {
  border-top-color: currentColor;
  border-top-width: var(--border-size-2);
}

:where(thead, tbody, tfoot, tr, td, th) {
  border-color: inherit;
}

@media print {
  :where(thead) {
    display: table-header-group;
  }
}

@media print {
  :where(tr) {
    page-break-inside: avoid;
  }
}

:where(th) {
  text-align: inherit;
}

:where(button) {
  font: inherit;
  font-size: inherit;
  color: inherit;
  letter-spacing: inherit;
}

:where(button label[for]) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(dialog) {
  background-color: var(--color-gray-0);
  color: inherit;
  border-radius: var(--radius-3);
  box-shadow: var(--shadow-6);
}
:where(dialog)::backdrop {
  -webkit-backdrop-filter: blur(25px);
  backdrop-filter: blur(25px);
}

:where(fieldset) {
  border-radius: var(--radius-2);
  border: var(--border-size-1) solid var(--color-gray-4);
}

:where(input) {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font: inherit;
  letter-spacing: inherit;
  padding-block: var(--size-1);
  padding-inline: var(--size-2);
  touch-action: manipulation;
}

:where(input[type=checkbox],
input[type=radio]) {
  block-size: var(--size-205);
  inline-size: var(--size-205);
}

:where(input[type=file]) {
  align-self: flex-start;
  background-color: white;
  border-color: var(--color-gray-3);
  border-style: solid;
  border-width: var(--border-size-1);
  box-shadow: var(--inner-shadow-1);
  color: var(--color-gray-7);
  cursor: initial;
  display: block;
  padding: 0;
}

:where(input[type=file])::-webkit-file-upload-button,
:where(input[type=file])::file-selector-button {
  cursor: pointer;
  margin-inline-end: 1.75ch;
}

:where(input[type=number])::-webkit-inner-spin-button,
:where(input[type=number])::-webkit-outer-spin-button {
  height: auto;
}

:where(input[type=search]) {
  -webkit-appearance: textfield;
  -moz-appearance: textfield;
  appearance: textfield;
  outline-offset: -2px;
}
:where(input[type=search])::-webkit-search-decoration {
  -webkit-appearance: none;
  appearance: none;
}

:where(legend) {
  border: 0;
  box-sizing: border-box;
  color: inherit;
  display: table;
  margin: 0;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

:where(optgroup) {
  font-family: inherit;
  font-size: 100%;
  font-weight: var(--font-bold);
  line-height: var(--line-xs);
  margin: 0;
}

:where(progress) {
  vertical-align: baseline;
}

:where(select) {
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font: inherit;
  letter-spacing: inherit;
  padding-block: 0.75ch;
  padding-inline: 1.25ch 0;
  touch-action: manipulation;
}

:where(textarea) {
  background-color: var(--color-white);
  color: inherit;
  cursor: pointer;
  font-size: inherit;
  font: inherit;
  letter-spacing: inherit;
  padding-block: var(--size-1);
  padding-inline: var(--size-2);
  resize: block;
  touch-action: manipulation;
}

:where(area) {
  cursor: pointer;
  touch-action: manipulation;
}

:where(audio) {
  display: block;
}
:where(audio):not([controls]) {
  display: none;
  height: 0;
}

:where(canvas) {
  display: block;
}

:where(embed) {
  display: block;
}

:where(img) {
  block-size: auto;
  display: block;
  max-width: 100%;
}
@media print {
  :where(img) {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
}

:where(object) {
  display: block;
}

:where(svg) {
  block-size: auto;
  display: block;
  fill: currentColor;
  stroke: none;
}
:where(svg):where(:not([fill])) {
  fill: none;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke: currentColor;
}
:where(svg):where(:not([width])) {
  inline-size: var(--size-10);
}

:where(video) {
  block-size: auto;
  display: block;
}

.bg-color--dark-blue {
  --background-color: var(--color-mirage);
  --heading-color: var(--color-white);
  --text-color: var(--color-white);
}

.bg-color--dark-gray {
  --background-color: var(--color-gravel);
  --heading-color: var(--color-white);
  --text-color: var(--color-white);
}

.bg-color--light-blue {
  --background-color: var(--color-harp);
}

.bg-color--light-gray {
  --background-color: var(--color-iron);
}

.l-grid {
  display: grid;
  gap: var(--grid-gap);
  grid-auto-flow: row;
}

@media (min-width: 580px) {
  .l-grid--2col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 580px) {
  .l-grid--3col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 900px) {
  .l-grid--3col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 600px) and (max-width: 800px) {
  .l-grid--4col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 801px) {
  .l-grid--4col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 580px) and (max-width: 767px) {
  .l-grid--5col {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .l-grid--5col {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}
@media (min-width: 1200px) {
  .l-grid--5col {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (min-width: 600px) and (max-width: 999px) {
  .l-grid--6col {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (min-width: 1000px) {
  .l-grid--6col {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}

.component-padding--large-padding-above-content {
  --component-padding-bottom: 3rem;
  --component-padding-left: var(--layout-gutter);
  --component-padding-right: var(--layout-gutter);
  --component-padding-top: 14rem;
}

.component-padding--small-padding-above-content {
  --component-padding-bottom: 1.5rem;
  --component-padding-left: var(--layout-gutter);
  --component-padding-right: var(--layout-gutter);
  --component-padding-top: 3rem;
}

.component-padding--large-padding-around-content {
  --component-padding-bottom: 14rem;
  --component-padding-left: var(--layout-gutter);
  --component-padding-right: var(--layout-gutter);
  --component-padding-top: 14rem;
}

.component-padding--small-padding-around-content {
  --component-padding-bottom: 3rem;
  --component-padding-left: var(--layout-gutter);
  --component-padding-right: var(--layout-gutter);
  --component-padding-top: 3rem;
}

.component-padding--large-padding-below-content {
  --component-padding-bottom: 14rem;
  --component-padding-left: var(--layout-gutter);
  --component-padding-right: var(--layout-gutter);
  --component-padding-top: 3rem;
}

.component-padding--small-padding-below-content {
  --component-padding-bottom: 3rem;
  --component-padding-left: var(--layout-gutter);
  --component-padding-right: var(--layout-gutter);
  --component-padding-top: 1.5rem;
}

[class*=component-padding--] {
  padding: var(--component-padding-top) var(--component-padding-right) var(--component-padding-bottom) var(--component-padding-left);
}

.list--border {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.list--border li {
  padding-left: 0;
}
.list--border > li {
  border-bottom: 1px solid var(--color-gray-5);
  padding: var(--size-05);
}

.list--unstyled {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
.list--unstyled li {
  padding-left: 0;
}
.list--unstyled li::before {
  display: none;
}

.list--column {
  list-style: none;
  margin-left: 0;
  padding-left: 0;
}
.list--column li {
  padding-left: 0;
}
.list--column > li {
  -moz-column-break-inside: avoid;
  break-inside: avoid-column;
  display: table;
  margin-bottom: 0;
  padding-bottom: var(--size-05);
}
@media (min-width: 580px) {
  .list--column {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: var(--size-4);
    column-gap: var(--size-4);
  }
}

.list--column-bulleted {
  list-style: none;
  margin-left: 0;
}
.list--column-bulleted li {
  padding-left: 0;
}
.list--column-bulleted > li {
  -moz-column-break-inside: avoid;
  break-inside: avoid-column;
  margin-bottom: 0;
  padding-bottom: var(--size-05);
}
@media (min-width: 580px) {
  .list--column-bulleted {
    -moz-column-count: 2;
    column-count: 2;
    -moz-column-gap: var(--size-4);
    column-gap: var(--size-4);
  }
}

.list--inline {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}
.list--inline li {
  padding-left: 0;
}
.list--inline > li {
  display: inline;
}

.list--pipeline::after {
  clear: both;
  content: "";
  display: table;
}
.list--pipeline {
  list-style-type: none;
  margin-left: 0;
  padding-left: 0;
}
.list--pipeline > li {
  border-right: 1px solid var(--color-gray-5);
  display: block;
  float: left;
  margin-right: 0.75em;
  padding-left: 0;
  padding-right: 0.75em;
}
.list--pipeline > li.is-active {
  font-weight: 700;
}
.list--pipeline > li:last-child {
  border-right: 0;
  margin-right: 0;
  padding-right: 0;
}