.site-shell { width: 100%; overflow-x: clip; }
.section { position: relative; }
.section-inner {
  width: min(calc(100% - 3rem), var(--content-wide));
  margin-inline: auto;
}
.section-copy { max-width: var(--content-copy); }
.section-label {
  margin: 0;
  color: var(--color-muted);
  font-size: .75rem;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.section-title {
  margin: 0;
  font-size: clamp(2rem, 4vw, 3.875rem);
  line-height: 1.35;
  letter-spacing: .01em;
}
.section-body {
  margin: 0;
  color: var(--color-ink-soft);
  font-size: clamp(.95rem, 1.2vw, 1.125rem);
  line-height: 2;
}
.full-bleed-media { position: absolute; inset: 0; width: 100%; height: 100%; }
.full-bleed-media img,
.full-bleed-media video { width: 100%; height: 100%; object-fit: cover; }
[data-reveal] { opacity: 0; transform: translateY(18px); transition: opacity .65s ease, transform .65s ease; }
[data-reveal].is-visible { opacity: 1; transform: none; }
body.motion-reduced [data-reveal] { opacity: 1; transform: none; transition: none; }
