/* =========================================================
   BALLPINNETJE — TIJDELIJKE INGANG | v4
   Posterachtig blok met donkere buitenkant.
   Alle afbeeldingen: WebP.
   ========================================================= */

:root {
  --blue: #0a3fa8;
  --blue-dark: #062b74;
  --yellow-dark: #c89f00;

  --outer: #b7bec8;
  --outer-deep: #a8b0bb;
  --card: #ffffff;

  --ink: #171717;
  --muted: #5f6670;
}

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

html,
body {
  min-height: 100%;
}

body {
  margin: 0;

  color: var(--ink);

  background:
    radial-gradient(
      circle at 50% 22%,
      rgba(255, 255, 255, 0.16),
      transparent 32%
    ),
    linear-gradient(
      145deg,
      var(--outer) 0%,
      var(--outer-deep) 100%
    );

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  text-rendering: optimizeLegibility;
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

.page-shell {
  min-height: 100vh;

  display: grid;
  place-items: center;

  padding:
    clamp(1rem, 3vw, 2.5rem);
}

.teaser-card {
  position: relative;

  width:
    min(
      calc(100% - 1rem),
      1120px
    );

  min-height:
    min(
      780px,
      calc(100vh - 3rem)
    );

  padding:
    clamp(2rem, 4vw, 4rem);

  display: grid;
  place-items: center;

  overflow: hidden;

  border:
    1px solid
    rgba(10, 63, 168, 0.10);

  border-radius: 34px;

  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.99),
      rgba(248, 249, 251, 0.98)
    );

  box-shadow:
    0 30px 70px rgba(24, 35, 55, 0.22),
    0 0 42px rgba(242, 196, 0, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.90);
}

.site-logo {
  position: absolute;

  top:
    clamp(1.4rem, 3vw, 2.6rem);

  left:
    clamp(1.4rem, 3vw, 2.6rem);

  width:
    clamp(82px, 8vw, 110px);

  z-index: 3;
}

.teaser-core {
  width: min(92vw, 780px);

  display: flex;
  flex-direction: column;
  align-items: center;

  gap:
    clamp(1rem, 2vw, 1.5rem);

  text-align: center;
}

.teaser-heading {
  max-width: 760px;
}

.teaser-heading h1 {
  margin: 0;

  color: var(--blue);

  font-size:
    clamp(
      1.65rem,
      3vw,
      2.55rem
    );

  line-height: 1.15;
  letter-spacing: -0.03em;
}

.teaser-heading p {
  margin:
    0.45rem
    0
    0;

  color: var(--blue-dark);

  font-size:
    clamp(
      1rem,
      1.8vw,
      1.35rem
    );

  font-weight: 650;
}

.main-emblem {
  width:
    clamp(
      260px,
      34vw,
      360px
    );

  filter:
    drop-shadow(
      0 18px 30px
      rgba(24, 35, 55, 0.16)
    )
    drop-shadow(
      0 0 18px
      rgba(242, 196, 0, 0.12)
    );
}

.worlds {
  margin: 0;

  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;

  gap:
    0.25rem
    0.55rem;

  color: var(--yellow-dark);

  font-size:
    clamp(
      1.2rem,
      2.2vw,
      1.8rem
    );

  font-weight: 750;

  letter-spacing: -0.015em;
}

.worlds b {
  color: var(--blue);

  font-size: 1.15em;
  font-weight: 900;

  line-height: 1;
}

.quote {
  position: absolute;

  right:
    clamp(1.75rem, 4vw, 4rem);

  bottom:
    clamp(1.75rem, 4vw, 3.5rem);

  max-width: 430px;

  margin: 0;

  color: var(--blue-dark);

  font-size:
    clamp(
      0.95rem,
      1.5vw,
      1.12rem
    );

  font-style: italic;
  font-weight: 650;

  text-align: right;
}

.line {
  position: absolute;

  pointer-events: none;
}

.line--yellow {
  top: 0;
  right: 5.5vw;

  width: 1px;
  height: 16vh;

  background: var(--yellow-dark);
}

.line--blue {
  left: 4vw;
  bottom: 0;

  width: 18vw;
  height: 1px;

  background: var(--blue);
}

/* =========================================================
   TABLET / MOBIEL
   ========================================================= */

@media (max-width: 760px) {

  .page-shell {
    padding:
      0.8rem;
  }

  .teaser-card {
    min-height: calc(100svh - 1.6rem);

    padding:
      5.6rem
      1rem
      5rem;

    border-radius: 26px;
  }

  .site-logo {
    width:
      clamp(72px, 22vw, 92px);
  }

  .teaser-core {
    width: 100%;

    gap: 0.95rem;
  }

  .teaser-heading h1 {
    font-size:
      clamp(
        1.5rem,
        6vw,
        2rem
      );
  }

  .teaser-heading p {
    font-size:
      clamp(
        0.95rem,
        4.2vw,
        1.15rem
      );
  }

  .main-emblem {
    width:
      min(
        62vw,
        290px
      );
  }

  .worlds {
    max-width: 92vw;

    font-size:
      clamp(
        1rem,
        4.5vw,
        1.25rem
      );

    gap:
      0.2rem
      0.4rem;
  }

  .quote {
    right: 1.1rem;
    bottom: 1.3rem;

    max-width: 72vw;

    font-size: 0.9rem;
  }

  .line--yellow {
    right: 1rem;

    height: 11vh;
  }

  .line--blue {
    left: 1rem;

    width: 23vw;
  }
}

@media (max-width: 430px) {

  .teaser-card {
    padding-top: 5.2rem;
  }

  .main-emblem {
    width:
      min(
        66vw,
        255px
      );
  }

  .worlds {
    max-width: 340px;

    line-height: 1.45;
  }

  .quote {
    max-width: 78vw;
  }
}
