:root {
  --vh-stable: 1vh;
  --hero-top-p: 40;
  --hero-gap: 10px;
}
@supports (height: 100svh) {
  :root {
    --vh-stable: 1svh;
  }
}

:root {
  --hero-top: 40%;
  --ui-color: var(--color-primary, #e6e6e6);
  --ui-color-muted: var(--color-secondary, #a9adb3);
  --ui-bg-page: var(--bg-page, #a9adb3);
  --glow-hero-r: 25px;
  --glow-hero-color: rgb(0, 0, 0);
}

.pk-hero {
  min-height: 100vh;
  background: var(--bg-page, #a9adb3) center / cover no-repeat;

  background-image: url("../assets/img/home_hero-768.jpg");

  background-image: image-set(
    url("../assets/img/home_hero-768.avif") type("image/avif") 1x,
    url("../assets/img/home_hero-1536.avif") type("image/avif") 2x,
    url("../assets/img/home_hero-768.webp") type("image/webp") 1x,
    url("../assets/img/home_hero-1536.webp") type("image/webp") 2x,
    url("../assets/img/home_hero-768.jpg") type("image/jpeg") 1x,
    url("../assets/img/home_hero-1536.jpg") type("image/jpeg") 2x
  );
}

@media (min-width: 1024px) {
  .pk-hero {
    background-image: url("../assets/img/home_hero-1440.jpg");
    background-image: image-set(
      url("../assets/img/home_hero-1440.avif") type("image/avif") 1x,
      url("../assets/img/home_hero-2560.avif") type("image/avif") 2x,
      url("../assets/img/home_hero-1440.webp") type("image/webp") 1x,
      url("../assets/img/home_hero-2560.webp") type("image/webp") 2x,
      url("../assets/img/home_hero-1440.jpg") type("image/jpeg") 1x,
      url("../assets/img/home_hero-2560.jpg") type("image/jpeg") 2x
    );
  }
}

@media (min-width: 1440px) {
  .pk-hero {
    background-image: url("../assets/img/home_hero-1920.jpg");
    background-image: image-set(
      url("../assets/img/home_hero-1920.avif") type("image/avif") 1x,
      url("../assets/img/home_hero-2560.avif") type("image/avif") 2x,
      url("../assets/img/home_hero-1920.webp") type("image/webp") 1x,
      url("../assets/img/home_hero-2560.webp") type("image/webp") 2x,
      url("../assets/img/home_hero-1920.jpg") type("image/jpeg") 1x,
      url("../assets/img/home_hero-2560.jpg") type("image/jpeg") 2x
    );
  }
}

@media (min-width: 1920px) {
  .pk-hero {
    background-image: url("../assets/img/home_hero-2560.jpg");

    background-image: image-set(
      url("../assets/img/home_hero-2560.avif") type("image/avif") 1x,
      url("../assets/img/home_hero-2560.webp") type("image/webp") 1x,
      url("../assets/img/home_hero-2560.jpg") type("image/jpeg") 1x
    );
  }
}

.pk-hero-title,
.pk-hero-sub {
  color: var(--hero-text);
}

.pk-hero-title.is-on-header {
  color: var(--hero-text-muted);
}

.pk-hero-title,
.pk-hero-sub {
  will-change: transform, opacity;
  transform: translateZ(0);
  backface-visibility: hidden;
}

.pk-hero-title,
.pkLegalHeroTitle {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;

  color: var(--hero-text);

  -webkit-text-stroke: 0.6px rgba(0, 0, 0, 0.45);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  transition: color 0.25s ease;
}

.pk-hero-title {
  position: fixed;
  left: 50%;
  top: calc(var(--vh-stable) * var(--hero-top-p, 50));
  transform: translate(-50%, -50%) scale(1);
  transform-origin: center;
  margin: 0;
  text-align: center;
  z-index: 2400;
  pointer-events: none;
  font-size: clamp(34px, 6.2vw, 70px);
}

.pk-hero-sub {
  position: fixed;
  left: 50%;
  top: calc(var(--vh-stable) * var(--hero-top-p, 50));
  transform: translate(-50%, -50%);
  transform-origin: center;
  margin: 0;
  text-align: center;
  z-index: 2350;
  pointer-events: none;
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 600;
  font-size: clamp(18px, 2.4vw, 30px);
  line-height: 1.5;
  -webkit-text-stroke: 0.4px rgba(0, 0, 0, 0.45);
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
  opacity: 1;
}

:root {
  --hero-sub-w: min(92vw, 60ch);
}

.pk-hero-sub {
  inline-size: var(--hero-sub-w);
  max-inline-size: 100vw;
  padding-inline: 8px;
  white-space: normal;
  overflow-wrap: break-word;
  text-wrap: balance;
}

@media (max-width: 640px) {
  :root {
    --hero-sub-w: 96vw;
  }
  .pk-hero-sub {
    padding-inline: 12px;
  }
}

@media (max-aspect-ratio: 1/1) {
  .pk-hero {
    min-height: 100vh;
  }
}

@media (max-width: 640px) {
  .pk-hero {
    --glow-r: 5px;
  }
}
