/* ============================================================
   INTRO + CLOSING (both on dark-green)
   ============================================================ */
.scene--intro { justify-content: center; }
.intro__inner { max-width: min(1120px, 100%); }
.intro__eyebrow { opacity: 0.75; margin-bottom: clamp(1.1rem, 3vh, 2.1rem); }
.intro__title {
  font-size: var(--fs-display); font-weight: 500;
  line-height: 1.0; letter-spacing: -0.018em;
}
.intro__line { display: block; }
.intro__lead {
  margin-top: clamp(1.3rem, 3vh, 2.2rem);
  font-size: var(--fs-lead); line-height: 1.45; max-width: 54ch; opacity: 0.85;
}
.intro__cta { margin-top: clamp(1.6rem, 3.6vh, 2.6rem); }

/* ---- CLOSING ---- */
.scene--closing { justify-content: center; }
.closing__inner { max-width: min(1000px, 100%); }
.closing__eyebrow { opacity: 0.6; margin-bottom: 0.7rem; }
.closing__title { font-size: var(--fs-display); font-weight: 500; line-height: 1.0; }
.closing__lead { margin-top: 1.1rem; font-size: var(--fs-lead); max-width: 52ch; opacity: 0.85; }
.closing__contact { margin-top: 1.3rem; opacity: 0.55; }
.closing__it { margin-top: 0.45rem; opacity: 0.55; font-size: 0.9em; }
.closing__it-link { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.closing__it-link:hover, .closing__it-link:focus-visible { opacity: 1; }
.closing__cta { margin-top: clamp(1.5rem, 3.2vh, 2.4rem); }

.closing__nav { margin-top: clamp(1.8rem, 5vh, 3.4rem); }
.closing__index {
  display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.7rem clamp(1.5rem, 3vw, 2.5rem);
  border-top: 1px solid color-mix(in srgb, var(--white) 18%, transparent);
  padding-top: 1.2rem;
}
.closing__link {
  display: flex; align-items: baseline; gap: 0.7rem;
  opacity: 0.7; transition: opacity var(--dur-fast) var(--ease-cbre), transform var(--dur-fast) var(--ease-cbre);
}
.closing__link:hover, .closing__link:focus-visible { opacity: 1; transform: translateX(3px); }
.closing__link-num { opacity: 0.55; }
.closing__link-name { font-size: var(--fs-body); }

@media (max-width: 620px) {
  .closing__index { grid-template-columns: repeat(2, 1fr); }
}
