:root {
  --ground: #191f21;
  --ink: #e8ecee;
  --soft: #b3bbbf;
  --dim: #7c868b;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;
  --pad: clamp(24px, 3.4vw, 64px);
  --col: 1120px;
  --ratio: 1.7864;
  --w: max(100vw, 100svh * var(--ratio));
  --himg: calc(var(--w) / var(--ratio));
  --crop: max(0px, (var(--himg) - 100svh) / 2);
  --hb: min((100vw - 2 * var(--pad)) * 0.4388, var(--himg) * 0.45);
  --lo: calc(64px + var(--hb) / 2);
  --hi: calc(100svh - 200px - var(--hb) / 2);
  --y: calc(var(--himg) * 0.472 - var(--crop) + var(--hb) * 0.1163 + 0.07 * max(0px, 0.36 * var(--himg) - var(--hb)));
}

html {
  background: var(--ground);
  color-scheme: dark;
}

body {
  margin: 0;
  font: 400 15px/1.7 var(--mono);
  color: var(--ink);
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: #3b474c;
}

.hero {
  position: relative;
  box-sizing: border-box;
  min-height: 100vh;
  min-height: 100svh;
  display: flex;
  flex-direction: column;
  padding: 36px var(--pad) 48px;
  background: var(--ground) url(bg.jpg) center / cover no-repeat;
}

h1 {
  position: absolute;
  z-index: 1;
  top: clamp(var(--lo), var(--y), var(--hi));
  right: var(--pad);
  left: var(--pad);
  margin: 0;
  transform: translateY(-50%);
  color: #e6f0fa;
  mix-blend-mode: difference;
}

.word {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.drawn {
  display: block;
  width: auto;
  height: var(--hb);
  margin: 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 18;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tag {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  width: 100%;
  max-width: var(--col);
  margin: auto auto 0;
  font-size: 17px;
  line-height: 1.6;
  color: var(--soft);
}

.tag span {
  display: block;
  max-width: 36em;
}

.seam {
  position: relative;
  height: 18vh;
  overflow-x: clip;
  background: var(--ground);
}

.seam .m {
  position: absolute;
  top: -25vh;
  right: -120px;
  left: -120px;
  height: calc(25vh + 18vh);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.000) 0.0%, rgba(0, 0, 0, 0.028) 5.8%, rgba(0, 0, 0, 0.104) 11.6%, rgba(0, 0, 0, 0.216) 17.4%, rgba(0, 0, 0, 0.352) 23.2%, rgba(0, 0, 0, 0.500) 29.0%, rgba(0, 0, 0, 0.648) 34.8%, rgba(0, 0, 0, 0.784) 40.6%, rgba(0, 0, 0, 0.896) 46.4%, rgba(0, 0, 0, 0.972) 52.2%, rgba(0, 0, 0, 1.000) 58.0%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.000) 0.0%, rgba(0, 0, 0, 0.028) 5.8%, rgba(0, 0, 0, 0.104) 11.6%, rgba(0, 0, 0, 0.216) 17.4%, rgba(0, 0, 0, 0.352) 23.2%, rgba(0, 0, 0, 0.500) 29.0%, rgba(0, 0, 0, 0.648) 34.8%, rgba(0, 0, 0, 0.784) 40.6%, rgba(0, 0, 0, 0.896) 46.4%, rgba(0, 0, 0, 0.972) 52.2%, rgba(0, 0, 0, 1.000) 58.0%);
}

.seam .f {
  position: absolute;
  inset: 0;
  filter: blur(36px);
  will-change: transform;
  transform: translateZ(0);
}

.seam .a,
.seam .b {
  position: absolute;
  right: 0;
  left: 0;
}

.seam .a {
  top: 0;
  height: 25vh;
  background: url(bg.jpg) repeat-x;
  background-size: var(--w) var(--himg);
  background-position: center calc(100% + var(--crop));
}

.seam .b {
  top: 25vh;
  height: 18vh;
  background: linear-gradient(to right, #15191b 3.8%, #111517 11.5%, #121719 19.2%, #121719 26.9%, #13181a 34.6%, #181c1f 42.3%, #1c2124 50.0%, #252a2e 57.7%, #262c30 65.4%, #232a2d 73.1%, #1f2629 80.8%, #151d20 88.5%, #181f22 96.2%);
  background-size: var(--w) 100%;
  background-position: center top;
}

.seam::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, color-mix(in srgb, var(--ground) 0.0%, transparent) 0%, color-mix(in srgb, var(--ground) 2.8%, transparent) 10%, color-mix(in srgb, var(--ground) 10.4%, transparent) 20%, color-mix(in srgb, var(--ground) 21.6%, transparent) 30%, color-mix(in srgb, var(--ground) 35.2%, transparent) 40%, color-mix(in srgb, var(--ground) 50.0%, transparent) 50%, color-mix(in srgb, var(--ground) 64.8%, transparent) 60%, color-mix(in srgb, var(--ground) 78.4%, transparent) 70%, color-mix(in srgb, var(--ground) 89.6%, transparent) 80%, color-mix(in srgb, var(--ground) 97.2%, transparent) 90%, color-mix(in srgb, var(--ground) 100.0%, transparent) 100%);
}
main {
  position: relative;
  z-index: 1;
  box-sizing: border-box;
  max-width: calc(var(--col) + 2 * var(--pad));
  margin: -18vh auto 0;
  padding: 28px var(--pad) 120px;
}

.soon {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 48px;
}

.say {
  color: var(--soft);
}

.say h2 {
  margin: 0 0 18px;
  font-size: 15px;
  font-weight: 500;
  color: var(--ink);
}

.say h2::before {
  content: "› ";
  color: var(--dim);
}

.say p {
  margin: 0 0 1.2em;
}

.say p:last-child {
  margin-bottom: 0;
}

@media (max-width: 900px) {
  .hero,
  .seam .a {
    background-image: url(bg-small.jpg);
  }
}

@media (max-width: 1000px) {
  .soon {
    grid-template-columns: minmax(0, 1fr);
    gap: 36px;
  }

  .say {
    max-width: 64ch;
  }
}

@media (max-width: 640px) {
  .hero {
    padding: 22px var(--pad) 32px;
  }

  .tag,
  .say {
    font-size: 14px;
  }

  main {
    padding-bottom: 96px;
  }
}
