/* home.css — the page the experience is NOT.
 *
 * index.html is the film. This is the lobby: no preloader, no scroll hijack, no
 * eight-scene commitment. Someone who clicked the logo from a service page, or
 * who is here for the second time, lands on something that answers "what is
 * this and where do I go" in one screen. Same field, same type, calm.
 */

.doc--home main {
  position: relative;
  z-index: 10;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 clamp(20px, 6vw, 48px);
}

/* hero */

.home__hero {
  padding: clamp(120px, 18vh, 200px) 0 clamp(50px, 7vw, 80px);
  text-align: center;
}
.home__hero .display {
  margin: 14px 0 0;
}
.home__hero .lede {
  max-width: 620px;
  margin: 20px auto 0;
}
.home__hero .doors {
  margin-top: clamp(34px, 5vw, 52px);
}
.home__hero .creds {
  justify-content: center;
}

/* the invitation back into the experience */

.home__enter {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: clamp(20px, 4vw, 48px);
  margin: clamp(40px, 6vw, 72px) 0;
  padding: clamp(26px, 4vw, 40px);
  border: 1px solid var(--hair);
  border-radius: 18px;
  background: linear-gradient(
    100deg,
    rgba(32, 139, 255, 0.09),
    rgba(32, 139, 255, 0.015) 55%,
    transparent
  );
  transition:
    border-color 0.4s ease,
    box-shadow 0.4s ease;
}
.home__enter:hover {
  border-color: rgba(32, 139, 255, 0.5);
  box-shadow: 0 0 60px -18px rgba(32, 139, 255, 0.5);
}
.home__enter h2 {
  margin: 10px 0 0;
  font-family: var(--display);
  font-weight: 300;
  font-size: clamp(24px, 3.2vw, 36px);
  line-height: 1.15;
  letter-spacing: -0.02em;
}
.home__enter p {
  margin: 12px 0 0;
  max-width: 52ch;
  color: var(--muted);
  font-weight: 200;
  font-size: 15px;
  line-height: 1.65;
}
.home__enter .btn {
  white-space: nowrap;
}

@media (max-width: 760px) {
  .home__enter {
    grid-template-columns: 1fr;
  }
}

/* section rhythm */

.home__section {
  padding: clamp(50px, 7vw, 84px) 0;
  border-top: 1px solid var(--hair);
}
.home__section .doc__h2 {
  margin-top: 6px;
}
.home__section .doc__lede {
  max-width: 60ch;
}
.home__section .routes,
.home__section .split {
  margin-top: clamp(26px, 4vw, 40px);
}

/* the two-model split reads narrower here than in the experience */
.doc--home .split {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: clamp(20px, 3vw, 36px);
}
.doc--home .split__col {
  padding: 26px;
  border: 1px solid var(--hair);
  border-radius: 16px;
}
.doc--home .split__col h3 {
  margin: 10px 0 0;
  font-family: var(--display);
  font-weight: 400;
  font-size: 19px;
}
.doc--home .split__col p {
  color: var(--muted);
  font-weight: 200;
  font-size: 15px;
  line-height: 1.65;
}
.doc--home .split__num {
  font-family: var(--mono);
  font-size: 10px;
  letter-spacing: 0.22em;
  color: var(--faint);
}

/* On a phone the field sits directly behind the lede rather than beside it,
   so it comes down enough to stop competing with the words. */
@media (max-width: 720px) {
  .doc--home .stage--ambient {
    opacity: 0.5;
  }
  .home__hero {
    padding-top: clamp(96px, 14vh, 140px);
  }
}
