/* --- sektsioonide uldkuju ------------------------------------------- */
/* aareni ulatuvad paneelid eristuvad uksteisest valge vahega */
main > section + section {
  border-top: var(--divider-w) solid var(--divider);
}
.split {
  display: grid;
  min-height: min(78vh, 640px);
}
@media (min-width: 900px) {
  .split {
    grid-template-columns: var(--cols, 1fr 1fr);
  }
  .split.rev > .split-media {
    order: 2;
  }
}
.split-media {
  position: relative;
  overflow: hidden;
  min-height: 300px;
  background: var(--panel);
}
.split-media > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.split-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 1.5rem;
  align-items: flex-start;
  padding: clamp(2.5rem, 5vw, 5rem) clamp(1.5rem, 4vw, 4.5rem);
}
.split-body.on-brand {
  background: var(--brand);
  color: var(--on-brand);
}
.split-body.on-panel {
  background: var(--panel);
}
.split-body.on-panel .lede {
  color: var(--text-2);
}

.band {
  padding: var(--step) clamp(1.5rem, 4vw, 3rem);
}
@media (max-width: 559px) {
  .band {
    padding-inline: 1rem;
  }
}
.band-center {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1rem;
}
.band-center .rule {
  margin-inline: auto;
}
.wrap {
  max-width: 1280px;
  margin-inline: auto;
  width: 100%;
}

/* --- hero ------------------------------------------------------------ */
.hero {
  position: relative;
  isolation: isolate;
  background: var(--chrome);
  color: var(--on-scrim);
}
.hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 42%;
  z-index: -2;
}
/* tume loor ainult seal, kus kiri on - parem serv jaab puutumata */
.hero::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    100deg,
    rgba(8, 9, 13, 0.72) 0%,
    rgba(8, 9, 13, 0.66) 40%,
    rgba(8, 9, 13, 0.58) 55%,
    rgba(8, 9, 13, 0) 82%
  );
}
/* kitsamal ekraanil ulatub kiri paremasse serva - loor katab siis kogu pildi */
@media (max-width: 899px) {
  .hero::after {
    background: linear-gradient(
      180deg,
      rgba(8, 9, 13, 0.62) 0%,
      rgba(8, 9, 13, 0.64) 60%,
      rgba(8, 9, 13, 0.72) 100%
    );
  }
}
.hero-inner {
  max-width: 1280px;
  margin-inline: auto;
  padding: clamp(4rem, 10vw, 8.5rem) clamp(1.5rem, 4vw, 3rem) clamp(3.5rem, 7vw, 6rem);
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  align-items: flex-start;
}
.hero .lede {
  color: var(--on-scrim-2);
}
.hero h1 .accent {
  color: var(--brand-2);
}
.hero-strip {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  display: grid;
  grid-template-columns: 1fr 1fr;
}
.hero-strip div {
  padding: 1.15rem 1rem 1.15rem clamp(1.5rem, 4vw, 3rem);
  font-family: 'IBM Plex Mono', monospace;
  font-size: 0.76rem;
  letter-spacing: 0.05em;
  color: var(--on-scrim-2);
}
/* 2 x 2 - jooned nii veergude kui ridade vahel */
.hero-strip div:nth-child(odd) {
  border-right: 1px solid rgba(255, 255, 255, 0.16);
}
.hero-strip div:nth-child(n + 3) {
  border-top: 1px solid rgba(255, 255, 255, 0.16);
}
@media (min-width: 720px) {
  .hero-strip {
    grid-template-columns: repeat(4, 1fr);
  }
  .hero-strip div {
    padding-right: clamp(1.5rem, 4vw, 3rem);
    border-right: 1px solid rgba(255, 255, 255, 0.16);
  }
  .hero-strip div:nth-child(n + 3) {
    border-top: none;
  }
  .hero-strip div:last-child {
    border-right: none;
  }
}
.hero-strip b {
  color: var(--on-scrim);
  font-weight: 500;
  white-space: nowrap;
}

/* --- kategooriaplaadid ----------------------------------------------- */
.tiles {
  display: grid;
  gap: var(--divider-w);
  background: var(--divider);
}
@media (min-width: 820px) {
  .tiles {
    grid-template-columns: 1.35fr 1fr 1fr;
  }
}
.tile {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 0.55rem;
  min-height: clamp(300px, 34vw, 430px);
  padding: clamp(1.4rem, 2.4vw, 2.2rem);
  background: var(--chrome);
  color: var(--on-scrim);
  text-decoration: none;
  overflow: hidden;
}
.tile img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: -2;
  transition: transform 0.5s cubic-bezier(0.2, 0.6, 0.3, 1);
}
.tile::after {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(
    180deg,
    rgba(8, 9, 13, 0) 0%,
    rgba(8, 9, 13, 0) 24%,
    rgba(8, 9, 13, 0.64) 46%,
    rgba(8, 9, 13, 0.78) 100%
  );
}
.tile:hover img {
  transform: scale(1.04);
}
.tile p {
  color: var(--on-scrim-2);
  font-size: 0.9rem;
  max-width: 30ch;
}
.tile .eyebrow {
  color: var(--on-scrim);
}
.tile .go {
  font-family: Jost, sans-serif;
  text-transform: uppercase;
  font-size: 0.8rem;
  letter-spacing: 0.1em;
  font-weight: 600;
  display: inline-flex;
  gap: 0.45rem;
  margin-top: 0.3rem;
}
.tile:hover .go {
  color: var(--on-scrim-2);
}

/* --- faktipaneel ------------------------------------------------------ */
/* ka telefonis kaks veergu - numbrid on seal vaiksemad, et "23 000 l" mahuks */
.facts {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2rem clamp(1.25rem, 4vw, 3rem);
}
@media (min-width: 640px) {
  .facts {
    gap: 2.4rem clamp(1.5rem, 4vw, 3rem);
  }
}
.fact {
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.fact b {
  font-family: Jost, sans-serif;
  font-size: clamp(1.9rem, 9vw, 2.6rem);
  font-weight: 700;
  line-height: 0.9;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}
@media (min-width: 640px) {
  .fact b {
    font-size: clamp(2.6rem, 4.4vw, 3.6rem);
  }
}
.fact b em {
  font-style: normal;
  font-size: 0.42em;
  font-weight: 500;
  letter-spacing: 0.02em;
}
.fact span {
  font-size: 0.88rem;
  line-height: 1.45;
  opacity: 0.82;
  max-width: 24ch;
}
