.legal-main { padding-top: 88px; background: #f3f0e9; color: var(--color-ink); }
.legal-hero { padding: 74px 0 62px; color: #fffaf0; background: linear-gradient(120deg,#0d2239,#173d57); }
.legal-hero .eyebrow { margin: 0 0 16px; color: #d8ae6b; letter-spacing: .2em; }
.legal-hero h1 { margin: 0; font-size: clamp(2.8rem,5vw,4.8rem); font-weight: 500; letter-spacing: -.04em; }
.legal-hero__meta { display: flex; flex-wrap: wrap; gap: 12px 28px; margin: 22px 0 0; color: rgba(255,250,240,.72); }
.legal-notice { margin: 0; padding: 22px 28px; border-left: 3px solid #bc7944; background: #fff; color: #4d5b6d; line-height: 1.8; }
.legal-layout { display: grid; grid-template-columns: 250px minmax(0,1fr); gap: 56px; padding-block: 60px 100px; align-items: start; }
.legal-toc { position: sticky; top: 112px; padding: 28px; background: #e8e3da; }
.legal-toc strong { display: block; margin-bottom: 15px; font-size: .75rem; letter-spacing: .16em; }
.legal-toc a { display: block; padding: 8px 0; color: #526176; font-size: .86rem; line-height: 1.45; }
.legal-toc a:hover { color: #a75f31; }
.legal-document { min-width: 0; padding: 54px clamp(28px,5vw,72px); background: #fff; box-shadow: 0 22px 70px rgba(21,35,53,.08); }
.legal-document section { scroll-margin-top: 116px; padding: 0 0 42px; }
.legal-document section + section { padding-top: 42px; border-top: 1px solid #e1e3e6; }
.legal-document h2 { margin: 0 0 22px; font-size: clamp(1.45rem,2.4vw,2rem); font-weight: 560; line-height: 1.35; }
.legal-document h3 { margin: 26px 0 12px; font-size: 1.05rem; }
.legal-document p,.legal-document li { color: #45546a; line-height: 1.95; }
.legal-document ul,.legal-document ol { padding-left: 1.35em; }
.legal-document li + li { margin-top: 9px; }
.legal-document a { color: #9b572c; text-decoration: underline; text-underline-offset: 3px; }
.legal-table-wrap { overflow-x: auto; margin: 22px 0; }
.legal-table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: .86rem; }
.legal-table th,.legal-table td { padding: 14px 16px; border: 1px solid #dfe2e6; text-align: left; vertical-align: top; line-height: 1.65; }
.legal-table th { background: #f2f0eb; }
.legal-emphasis { padding: 20px 22px; background: #f6efe7; color: #354258; }
.legal-contact { padding: 26px; background: #122b43; color: #fff; }
.legal-contact p { margin: 7px 0; color: rgba(255,255,255,.78); }
.legal-contact a { color: #efc697; }
@media (max-width:760px) {
  .legal-main { padding-top: 72px; }
  .legal-hero { padding: 52px 0 44px; }
  .legal-layout { grid-template-columns: 1fr; gap: 24px; padding-block: 28px 64px; }
  .legal-toc { position: static; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0 18px; padding: 22px; }
  .legal-toc strong { grid-column: 1/-1; }
  .legal-document { padding: 34px 22px; }
  .legal-document section { padding-bottom: 32px; }
  .legal-document section + section { padding-top: 32px; }
}
