/*! modern-normalize v3.0.1 | MIT License | https://github.com/sindresorhus/modern-normalize */
*,
::after,
::before {
  box-sizing: border-box;
}
html {
  font-family:
    system-ui, "Segoe UI", Roboto, Helvetica, Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji";
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
}
body {
  margin: 0;
}
b,
strong {
  font-weight: bolder;
}
code,
kbd,
pre,
samp {
  font-family:
    ui-monospace, SFMono-Regular, Consolas, "Liberation Mono", Menlo, monospace;
  font-size: 1em;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sub {
  bottom: -0.25em;
}
sup {
  top: -0.5em;
}
table {
  border-color: currentcolor;
}
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}
[type="button"],
[type="reset"],
[type="submit"],
button {
  appearance: button;
  -webkit-appearance: button;
}
legend {
  padding: 0;
}
progress {
  vertical-align: baseline;
}
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}
[type="search"] {
  appearance: textfield;
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
::-webkit-search-decoration {
  -webkit-appearance: none;
}
::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
summary {
  display: list-item;
}
/* End of modern-normalize */

body {
  font-family: "Source Sans Pro", sans-serif;
  padding: 2.5vw 5vw;
  text-align: center;
  font-size: clamp(0.75rem, 2.75vw, 1rem);
  font-weight: 300;
  background-color: #fff;
  color: #000;
  --var-red: oklch(55% 0.2 35);
  --var-orange: oklch(65% 0.2 40);
  --var-blue: oklch(60% 0.1 235);
  --var-grey: #444;
}
.wrap {
  max-width: 66em;
  margin: 0 auto;
}
a {
  color: var(--var-red);
  text-decoration: none;
}
a:hover {
  color: var(--var-orange);
}

.archive-pill {
  display: inline-block;
  padding: 0.5em 1.5em;
  background-color: var(--var-blue);
  color: #fff;
  border-radius: 99em;
}
.archive-pill strong {
  font-weight: 500;
  display: inline-block;
}
h1 {
  font-weight: 300;
  font-size: clamp(2.5em, 4vw, 3em);
  line-height: 1.125;
  letter-spacing: -0.015625em;
}
h1 .mark {
  display: block;
  font-weight: 500;
  color: var(--var-red);
}

p.main {
  font-size: 1.25em;
  line-height: 1.5;
  margin: 1.5em 0;
  color: var(--var-grey);
}
p.main a.wl-symbol {
  color: var(--var-red);
  font-weight: 500;
}
p.main a.wl-symbol:hover {
  color: var(--var-orange);
}
p.main a.explore {
  display: inline-block;
  padding: 0 0.5em;
  font-weight: 500;
}

ul.main-links {
  padding: 0;
}
ul.main-links li {
  display: inline-block;
  margin: 0.5em 1em;
  text-transform: uppercase;
  font-weight: 500;
}

.carousel {
  --carousel-peek-offset: clamp(8rem, 40vw, 24rem);
  --carousel-side-scale: 0.75;
  --carousel-slide-transition: 500ms ease;
  --carousel-dot-transition: 150ms ease;

  margin: 2.5em -5vw 0;
  margin-bottom: 2em;
  padding: 2.5em 0 1.5em;
  background: var(--var-red);
  box-shadow: inset 0 0 5vw oklch(0 0 0 / 0.25);
  overflow: hidden;
}
.carousel-frame {
  padding: 0 2vw;
  aspect-ratio: 2 / 1;
  position: relative;
  touch-action: pan-y;
  user-select: none;
  cursor: grab;
}
.carousel.is-dragging .carousel-frame {
  cursor: grabbing;
}
.carousel-track {
  position: relative;
  width: 100%;
  height: 100%;
}
.carousel-slide {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(60%, 30em);
  height: auto;
  max-height: 100%;
  object-fit: contain;
  opacity: 0;
  transform: translate(-50%, -50%) scale(0.75);
  transition:
    opacity var(--carousel-slide-transition),
    transform var(--carousel-slide-transition),
    filter var(--carousel-slide-transition);
  transform-origin: center center;
  z-index: 1;
  pointer-events: none;
  box-shadow: 0 0 2em oklch(0 0 0 / 0.25);
}
.carousel-slide.is-active {
  opacity: 1;
  transform: translate(-50%, -50%) scale(1);
  filter: saturate(1) brightness(1);
  z-index: 3;
}
.carousel-slide.is-prev,
.carousel-slide.is-next {
  opacity: 0.5;
  z-index: 2;
}
.carousel-slide.is-prev {
  transform: translate(calc(-50% - var(--carousel-peek-offset)), -50%)
    scale(var(--carousel-side-scale));
}
.carousel-slide.is-next {
  transform: translate(calc(-50% + var(--carousel-peek-offset)), -50%)
    scale(var(--carousel-side-scale));
}
.carousel-dots {
  margin-top: 1.2em;
  display: flex;
  justify-content: center;
  gap: 0.45em;
}
.carousel-dot {
  width: 0.85em;
  height: 0.85em;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 999px;
  background-color: color-mix(in oklch, white 72%, var(--var-red));
  cursor: pointer;
  transition:
    transform var(--carousel-dot-transition),
    background-color var(--carousel-dot-transition);
}
.carousel-dot:hover {
  transform: scale(1.1);
  background-color: color-mix(in oklch, white 50%, var(--var-red));
}
.carousel-dot.is-active {
  background-color: #fff;
  transform: scale(1.12);
}
.carousel-dot:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .carousel-slide,
  .carousel-dot {
    transition: none;
  }
}

footer {
  color: var(--var-grey);
  font-weight: 400;
  opacity: 0.75;
}
footer a {
  color: inherit;
}
footer a:hover {
  color: var(--var-orange);
}
.cloud-link {
  vertical-align: baseline;
}
.cloud-icon {
  display: inline-block;
  width: 1.4em;
  height: auto;
  flex-shrink: 0;
  vertical-align: -0.21875em;
  margin-right: 0.125em;
}
footer ul {
  padding: 0;
  margin: 1em 0;
  font-size: clamp(0.75em, 2vw, 1em);
}
footer ul.bottom-links {
  margin-top: -1em;
  font-size: clamp(0.625em, 1.75vw, 0.875em);
}
footer ul li {
  display: inline-block;
  margin: 0.5em;
}
