/**
 * Canonical shell for informational, legal and contact pages.
 * Page-specific stylesheets may define content layouts, but must not redefine
 * this hero, global tokens, shared buttons or the shared header/footer.
 */

.info-page-hero {
  position: relative;
  overflow: hidden;
  padding: calc(var(--header-h) + clamp(56px, 8vh, 96px)) var(--pad-x)
    clamp(48px, 7vh, 80px);
  /* Information pages use a calm, neutral canvas. Visual hierarchy comes
     from spacing and typography, not a hero background treatment. */
  background: var(--bg);
  text-align: center;
}
.info-page-hero-inner {
  position: relative;
  width: min(100%, 920px);
  margin-inline: auto;
}
.info-page-hero .eyebrow {
  justify-content: center;
  color: var(--fg);
}
.info-page-hero h1 {
  margin-top: 16px;
  color: var(--fg);
  font-family: var(--font-heading);
  font-size: clamp(32px, 4.6vw, 48px);
  font-weight: 600;
  line-height: 1.45;
  letter-spacing: 0;
}
.info-page-hero .lead {
  max-width: 60ch;
  margin: 18px auto 0;
  color: var(--muted);
  font-family: var(--font-jp);
  font-size: var(--text-base);
  font-weight: 500;
  line-height: 1.9;
}
.info-page-hero .lead p + p { margin-top: 1em; }

@media (max-width: 540px) {
  .info-page-hero {
    padding-top: calc(var(--header-h) + 32px);
    padding-bottom: 48px;
  }
  .info-page-hero h1 { font-size: clamp(28px, 8vw, 32px); }
}
