.legal-page { background: #f7f3e8; }
.legal-main { overflow: visible; }
.legal-hero { padding: clamp(3.5rem, 8vw, 7rem) max(1rem, calc((100vw - 920px) / 2)) 3rem; background: linear-gradient(145deg, #fffdf6 0%, #eef8ef 100%); border-bottom: 1px solid var(--line); }
.legal-hero h1 { max-width: 780px; margin: .2rem 0 1rem; font-size: clamp(3.2rem, 7vw, 6rem); }
.legal-intro { max-width: 720px; margin: 0; color: #425e73; font-size: clamp(1.05rem, 2vw, 1.25rem); }
.legal-updated { display: inline-flex; margin-top: 1.5rem; padding: .5rem .75rem; color: var(--blue); background: white; border: 1px solid var(--line); border-radius: 999px; font-size: .82rem; font-weight: 700; }
.legal-content { padding: 3.5rem max(1rem, calc((100vw - 920px) / 2)) 6rem; }
.legal-card { padding: clamp(1.5rem, 4vw, 3.3rem); background: white; border: 1px solid rgba(20, 51, 82, .1); border-radius: 2rem; box-shadow: var(--shadow); }
.legal-card section + section { margin-top: 2.8rem; padding-top: 2.8rem; border-top: 1px solid var(--line); }
.legal-card h2 { margin: 0 0 .8rem; font-size: clamp(1.55rem, 3vw, 2.15rem); }
.legal-card p { margin: 0 0 1rem; color: #405c72; }
.legal-card p:last-child { margin-bottom: 0; }
.legal-card ul { margin: .8rem 0 1rem; padding-left: 1.3rem; color: #405c72; }
.legal-card li + li { margin-top: .55rem; }
.legal-card a { color: #d75f49; font-weight: 700; text-underline-offset: 4px; }
.legal-note { margin: 1.5rem 0 0; padding: 1rem 1.15rem; color: var(--ink); background: #eef8ef; border-left: 5px solid var(--green); border-radius: .8rem; }
.legal-back { display: inline-flex; margin-bottom: 1.2rem; color: #587086; font-weight: 700; text-decoration: none; }
.legal-back:hover { text-decoration: underline; text-underline-offset: 4px; }
.legal-signoff { font-family: "Fredoka", sans-serif; font-size: 1.08rem; }

@media (max-width: 580px) {
  .legal-hero { padding-top: 2.5rem; }
  .legal-content { padding-top: 1.5rem; padding-bottom: 4rem; }
  .legal-card { border-radius: 1.35rem; }
}
