/* Home-only finishing: service footer template; existing cinematic styles stay intact. */
.intro-copy .actions { align-items: stretch; }
.intro-copy .actions .button { align-items: center; justify-content: center; text-align: center; }
.home-footer.footer { display: block; padding: 36px 0; border-top: 1px solid rgba(255,255,255,.08); background: #041226; color: rgba(255,255,255,.64); font-size: 16px; }
.home-footer .container { width: min(100% - 48px, 1180px); margin: 0 auto; }
.home-footer .footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.home-footer .brand { display: inline-flex; align-items: center; gap: 14px; flex: 0 0 auto; }
.home-footer .brand-mark { width: 48px; height: 48px; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; background: #d4af37; color: #041226; font-size: 18px; font-weight: 800; letter-spacing: .04em; line-height: 1; }
.home-footer .brand-copy { display: grid; gap: 5px; }
.home-footer .brand-name { color: #fff; font-size: 20px; font-weight: 700; line-height: 1; white-space: nowrap; }
.home-footer .brand-subtitle { color: rgba(243,211,107,.88); font-size: 13px; line-height: 1; white-space: nowrap; }
.home-footer .footer-links { display: flex; flex-wrap: wrap; gap: 24px; font-size: 15px; }
.home-footer .footer-links a:hover { color: #fff; }
.home-footer .footer-note { display: flex; justify-content: center; width: 100%; margin: 34px auto 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.06); text-align: center; color: #f3d36b; font-size: 13px; line-height: 1.7; }
@media (max-width: 720px) {
  .home-footer .container { width: min(100% - 32px, 1180px); }
  .home-footer .footer-inner { align-items: flex-start; flex-direction: column; }
  .home-footer .brand-subtitle { font-size: 12px; }
}
@media (max-width: 360px) {
  .intro-copy .actions { display: grid; grid-template-columns: minmax(0, 1fr); grid-auto-rows: 1fr; }
}

/* Only conceal redundant story buttons; keep DOM handlers and reduced motion intact. */
.enhanced .story-controls [data-story="back"],
.enhanced .story-controls [data-story="next"],
.enhanced .story-controls [data-story="pause"] { display: none; }

/* Approved equal slogan size in all languages; H1 markup and motion are unchanged. */
html[lang] .intro-copy .title-line { font-size: clamp(32px, 6.25vw, 80px); }

/* Align the centre of each complete text block, independently of its height.
   Keep transition transforms and the static reduced-motion layout intact. */
.enhanced .intro-copy { top: var(--intro-center, 50svh); translate: 0 -50%; }
.enhanced .story-panel { top: 50svh; translate: 0 -50%; }
.enhanced .story-panel > :last-child { margin-bottom: 0; }

/* v4: intro paragraphs only; slogan, buttons and scene motion are unchanged. */
.intro-copy .summary { font-size: 20px; line-height: 1.55; color: rgba(255,255,255,.9); max-width: 680px; }
.intro-copy .lead { font-size: 26px; line-height: 1.45; }
@media (max-width: 720px) {
  .intro-copy .summary { font-size: 16px; line-height: 1.5; }
  .intro-copy .lead { font-size: 19px; line-height: 1.45; }
}
