.legal-page .journey-header .is-current::after { transform: scaleX(1); }

.legal-main {
  width: min(940px, calc(100% - 40px));
  margin: 0 auto;
  padding: clamp(72px, 9vw, 120px) 0 clamp(96px, 12vw, 150px);
}

.legal-hero {
  padding-bottom: clamp(46px, 6vw, 72px);
  border-top: 1px solid var(--ink);
  border-bottom: 1px solid var(--line);
}

.legal-hero .section-kicker { margin-top: 32px; }
.legal-hero h1 { max-width: 820px; margin: 26px 0 24px; font-size: clamp(3.8rem, 7vw, 6.6rem); }
.legal-hero p { max-width: 720px; margin: 0; color: var(--ink-soft); font-size: 1.05rem; line-height: 1.8; }

.legal-article { padding-top: 30px; }
.legal-section { padding: 38px 0 42px; border-bottom: 1px solid var(--line); }
.legal-section h2 { margin: 0 0 17px; font-size: clamp(1.75rem, 3vw, 2.6rem); }
.legal-section p,
.legal-section li { color: var(--ink-soft); font-size: 1rem; line-height: 1.85; }
.legal-section p { margin: 0 0 13px; }
.legal-section ul { margin: 0; padding-left: 1.2rem; }
.legal-section a { color: var(--patina-deep); text-underline-offset: 4px; }
.legal-note { margin-top: 34px; color: var(--cinnabar); font-size: 0.76rem; font-weight: 700; letter-spacing: 0.08em; }

@media (max-width: 680px) {
  .legal-main { width: min(100% - 28px, 940px); padding-top: 58px; }
  .legal-hero h1 { font-size: clamp(3.1rem, 16vw, 4.7rem); }
  .legal-section { padding-block: 30px 34px; }
}
