/* SayRaye v1.0 — global layout primitives */
body {
  overflow-x: hidden;
}

.site-shell,
section,
.site-footer {
  padding-inline: var(--pad);
}

section {
  padding-block: var(--section);
}

.section-heading,
.statement-grid,
.contact-grid {
  display: grid;
  gap: clamp(2rem, 6vw, 7rem);
}

.section-heading {
  grid-template-columns: minmax(0, 1.25fr) minmax(16rem, .75fr);
  align-items: end;
}

.section-heading > p {
  max-width: 38rem;
  color: var(--muted);
}

.section-label {
  font-size: .68rem;
  font-weight: 600;
  letter-spacing: .22em;
  line-height: 1.4;
  text-transform: uppercase;
  color: var(--gold-light);
}

h1,
h2,
h3 {
  text-wrap: balance;
}

h2 {
  font: clamp(3rem, 7vw, 7.5rem)/.94 var(--font-display);
  letter-spacing: -.035em;
}

.reveal {
  opacity: 0;
  transform: translateY(1.75rem);
  transition: opacity .8s var(--ease), transform .8s var(--ease);
}

.reveal.is-visible,
.no-js .reveal {
  opacity: 1;
  transform: none;
}

@media (max-width: 56.25rem) {
  .section-heading,
  .statement-grid,
  .contact-grid {
    grid-template-columns: 1fr;
  }
}
