/* Full-screen height that behaves on mobile browsers */
.toby-hero-wrapper,
.toby-hero {
  height: 100vh;      /* fallback */
  height: 100svh;     /* correct on phones with collapsing address bars */
}

.toby-hero {
  min-height: 520px;
  overflow: hidden;   /* decorative images can't cause sideways scroll */
  padding-top: 4rem;  /* clears the transparent header */
}

/* Title */
.toby-hero .toby-title {
  font-size: clamp(1.75rem, 6vw, 3.5rem);
  line-height: 1.15;
  margin-bottom: 1.25rem;
  text-align: center;
}

.toby-hero .toby-title .title-underline img {
  max-width: 100%;
  height: auto;
}

/* Tagline + button */
.toby-hero .toby-text {
  max-width: 600px;
  text-align: center;
}

.toby-hero .toby-text p {
  text-align: center;
  margin: 0 0 .5rem;
  line-height: 1.6;
}

.toby-hero .toby-text p:last-of-type {
  margin-bottom: 1.5rem;
}

/* Phones */
@media (max-width: 767px) {
  .toby-hero { padding-top: 5rem; padding-bottom: 3rem; }
  .toby-hero .toby-title .title-underline { display: none; } /* underline misaligns when the title wraps */
  .toby-hero .toby-text p { font-size: 1rem; padding: 0 .5rem; }
  .toby-hero .btn { width: 100%; max-width: 320px; }
}