/* Continuity comes from shared timing, image framing and measured spacing. */
main { position: relative; }
.hero { overflow: clip; }
.hero-bottom { border-bottom: none; }
.intro { padding-top: clamp(45px, 6vw, 100px); }
.product {
  border-top: 0;
  background-color: #100f19;
  background-image: radial-gradient(ellipse at 56% 40%, #392b5938, transparent 64%);
}
.approach { padding-top: clamp(45px, 6vw, 100px); }
.editorial-image-window { overflow: hidden; border-radius: 3px; }
.editorial-image-window img { display: block; width: 100%; transform-origin: center; }
.contact-section {
  margin: 0;
  border-radius: 0;
  padding-inline: var(--gutter);
  padding-top: 125px;
  padding-bottom: 105px;
}
.convictions { padding-bottom: 115px; }
@media (min-width: 1100px) and (min-height: 740px) {
  .intro-heading { position: sticky; top: 115px; align-self: start; }
  .intro-layout { align-items: start; }
}
@media (max-width: 850px) {
  .contact-section { padding-top: 90px; padding-bottom: 75px; }
  .convictions { padding-bottom: 80px; }
}
@media (max-width: 600px) {
  .contact-section { padding: 74px 24px 58px; }
  .convictions { padding-bottom: 65px; }
}
@media (prefers-reduced-motion: reduce), print {
  .intro-heading { position: static; }
  .journey-heading-line { opacity: 1 !important; translate: none !important; }
}
