/* Site shell — shared inner column for nav, hero, marquee, footer content */

.site-shell {
  width: 100%;
  max-width: var(--site-shell-max, 1160px);
  margin-inline: auto;
  padding-inline: var(--site-shell-gutter, clamp(1.25rem, 3vw, 2.5rem));
  box-sizing: border-box;
}

.site-shell--rails {
  border-left: 1px solid var(--site-rail-border, rgba(255, 255, 255, 0.06));
  border-right: 1px solid var(--site-rail-border, rgba(255, 255, 255, 0.06));
}

body > nav:has(.nav__inner) {
  display: block;
  padding-inline: 0;
}

body > nav .nav__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  column-gap: 0.5rem;
  min-height: inherit;
}

body > nav .nav__inner > .logo {
  grid-column: 1;
}

body > nav .nav__inner > .nav-cluster {
  grid-column: 2;
}

body > nav .nav__inner > .hamburger {
  grid-column: 3;
}

footer .site-shell {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.home-shell {
  position: relative;
  z-index: 1;
  padding-top: calc(var(--nav-height, 4.5rem) + 0.15rem);
}

.home-shell + header.hero {
  padding-top: 0.75rem;
  padding-bottom: 2.5rem;
}

.home-shell .hero {
  padding-top: 0.5rem;
}

/* Homepage above-the-fold: H1 + CTAs beside a height-capped theme strip */
.home-hero-fold {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: clamp(0.85rem, 2vw, 1.5rem);
  align-items: center;
  min-height: 0;
}

.home-hero-fold__copy {
  min-width: 0;
}

.home-hero-fold__copy h1 {
  margin: 0 0 0.55rem;
  font-size: clamp(1.55rem, 2.8vw, 2.45rem);
  line-height: 1.08;
}

.home-hero-fold__copy > p:first-of-type {
  margin: 0 0 0.85rem;
  font-size: clamp(0.92rem, 1.35vw, 1.02rem);
  line-height: 1.45;
  color: var(--text-muted, #94a3b8);
}

.home-hero-fold__copy .hero-cta {
  margin-top: 0;
}

.home-hero-fold__showcase {
  min-width: 0;
}

@media (max-width: 900px) and (min-width: 641px) {
  .home-hero-fold {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .home-hero-fold__showcase {
    order: -1;
  }

  .home-hero-fold__copy h1 {
    font-size: clamp(1.45rem, 6.5vw, 2rem);
  }
}

/* Small mobile: H1 left, phone preview right — keeps both above the fold */
@media (max-width: 640px) {
  .home-hero-fold {
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
    align-items: start;
    gap: 0.55rem;
  }

  .home-hero-fold__showcase {
    order: 0;
    align-self: center;
  }

  .home-hero-fold__copy h1 {
    font-size: clamp(1.1rem, 4.8vw, 1.4rem);
    margin-bottom: 0.35rem;
  }

  .home-hero-fold__copy > p:first-of-type {
    font-size: 0.78rem;
    line-height: 1.35;
    margin-bottom: 0.55rem;
  }

  .home-hero-fold__copy .hero-cta {
    flex-wrap: wrap;
    gap: 0.4rem;
  }

  .home-hero-fold__copy .hero-cta .btn {
    font-size: 0.72rem;
    padding: 0.45rem 0.7rem;
  }
}

@media (max-width: 900px) {
  .site-shell--rails {
    border-left: none;
    border-right: none;
  }
}
