/* ─── Etusivun sommitelmat ────────────────────────────────────────────────
   Vain tämän sivun oma kokonaisuus: pyöristetty hero-kortti, jonka taustassa
   pisteverkko ja pinkki liukuväri. Kaikki muu tulee järjestelmästä. */

.e-hero { display: flex; flex-direction: column; background: var(--s-paper); }

.e-hero__card {
  flex: none;
  /* Kortti on ruudun korkuinen. svh eikä dvh: dvh seuraa selaimen palkkien
     liikettä, jolloin kortti kasvaisi kesken vierityksen. */
  height: 100vh;
  height: 100svh;
  margin: 0 16px;
  border-radius: 28px;
  display: flex;
  overflow-y: auto;
  background-color: var(--s-paper);
  /* Kolme kerrosta, ylin ensin: valkoinen verho vaalentaa pisteitä ylhäältä,
     pisteverkko, ja pohjan pinkki liukuväri. Pisteet ovat liukuvärin päällä,
     joten ne jatkuvat värinvaihdoksen yli. */
  background-image:
    linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.46) 30%, rgba(255, 255, 255, 0) 64%),
    radial-gradient(circle, rgba(255, 166, 196, 0.55) 1.1px, transparent 1.3px),
    linear-gradient(180deg, #fff 0%, #fff 58%, rgba(255, 166, 196, 0.26) 84%, rgba(255, 166, 196, 0.62) 100%);
  background-size: 100% 100%, 15px 15px, 100% 100%;
}

/* Sisältö alkaa samalta pystylinjalta kuin ylätunnisteen logo: kortin oma
   16px:n marginaali vähennetään sivun gutterista. */
.e-hero__content {
  width: 100%;
  max-width: 980px;
  padding: var(--s-section-y) calc(var(--s-gutter) - 16px);
}

.e-hero__line { display: block; }

@media (min-width: 901px) {
  .e-hero__line { white-space: nowrap; }
}

@media (max-width: 640px) {
  /* Korkeus .e-herolle eikä kortille: ylätunniste ja kortti jakavat näkyvän
     korkeuden, jolloin kortin alareuna osuu ruudun alalaitaan. */
  .e-hero {
    height: calc(100vh - var(--s-header-h));
    height: calc(100svh - var(--s-header-h));
    overflow: hidden;
  }

  .e-hero__card {
    height: auto;
    flex: 1;
    min-height: 0;
    margin-inline: 8px;
    border-radius: 16px;
    background-image:
      linear-gradient(180deg, rgba(255, 255, 255, 0.82) 0%, rgba(255, 255, 255, 0.46) 30%, rgba(255, 255, 255, 0) 64%),
      radial-gradient(circle, rgba(255, 166, 196, 0.55) 1.1px, transparent 1.3px),
      linear-gradient(180deg, #fff 0%, #fff 50%, rgba(255, 166, 196, 0.22) 70%, rgba(255, 166, 196, 0.44) 100%);
    background-size: 100% 100%, 12px 12px, 100% 100%;
  }

  .e-hero__content { padding-inline: calc(var(--s-gutter) - 8px); }
}
