.page-hero,
.foyer {
  background: linear-gradient(135deg, #15151c 0%, #1d1d27 52%, #27232f 100%);
  border-bottom: 1px solid rgba(255,255,255,.08);
}

.page-hero::after,
.foyer::after {
  display: none;
}

.page-hero .inner {
  padding-block: 80px 68px;
}

.page-hero h1,
.foyer h1 {
  font-family: var(--font-sans);
  font-size: clamp(40px, 5vw, 64px);
  font-weight: 600;
  line-height: 1.16;
  letter-spacing: -.04em;
}

.page-hero h1 .dot {
  color: #F59A82;
}

.ph-kicker,
.foyer .kicker {
  margin-bottom: 20px;
  color: #F59A82;
  font-family: var(--font-sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: .08em;
}

.ph-kicker::before,
.foyer .kicker::before {
  width: 26px;
  background: #F59A82;
}

.ph-en,
.foyer .sub-en {
  margin-top: 16px;
  color: rgba(236,238,255,.56);
  font-family: var(--font-sans);
  font-size: 12px;
  font-style: normal;
  font-weight: 400;
  letter-spacing: .08em;
  line-height: 1.7;
}

.ph-sub,
.foyer .lead {
  max-width: 640px;
  margin-top: 24px;
  color: rgba(236,238,255,.76);
  font-family: var(--font-sans);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0;
}

.ph-sub b,
.foyer .lead b {
  color: #F59A82;
  font-weight: 500;
}

.foyer .inner {
  padding-block: 88px 76px;
}

.foyer h1 {
  font-size: clamp(46px, 6vw, 76px);
}

.foyer .sub-en {
  letter-spacing: .08em;
}

@media (max-width: 860px) {
  .page-hero .inner,
  .foyer .inner {
    padding-block: 60px 52px;
  }

  .page-hero h1 {
    font-size: clamp(36px, 7vw, 48px);
  }

  .foyer h1 {
    font-size: clamp(40px, 9vw, 58px);
  }

  .ph-sub,
  .foyer .lead {
    font-size: 14px;
    line-height: 1.9;
  }
}

@media (max-width: 480px) {
  .page-hero .inner,
  .foyer .inner {
    padding-block: 48px 44px;
  }

  .page-hero h1 {
    font-size: 36px;
  }

  .foyer h1 {
    font-size: 42px;
  }

  .ph-en,
  .foyer .sub-en {
    font-size: 11px;
    letter-spacing: .06em;
  }
}
