.mk-page .fl-legal-main { background: #f8f9f7; color: #1c2430; padding-bottom: 100px; }
.fl-legal-wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.fl-legal-hero { padding: 88px 0 42px; }
.fl-legal-hero h1 { font-family: var(--font-display); font-size: clamp(40px, 5.5vw, 68px); font-weight: 600; line-height: 1.12; letter-spacing: -.045em; margin: 28px 0 18px; }
.fl-legal-updated { color: #66717c; font-size: 15px; }
.fl-legal-tabs { display: flex; gap: 28px; margin-top: 36px; border-bottom: 1px solid #d9ddd8; }
.fl-legal-tabs a { color: #66717c; padding: 0 0 14px; border-bottom: 3px solid transparent; margin-bottom: -1px; font-weight: 500; text-decoration: none; }
.fl-legal-tabs a[aria-current="page"] { color: #1c2430; border-color: #1c2430; }
.fl-legal-layout { display: grid; grid-template-columns: 230px minmax(0, 1fr); align-items: start; gap: 40px; }
.fl-legal-contents { position: sticky; top: 112px; padding: 22px 0; max-height: calc(100svh - 140px); overflow-y: auto; }
.fl-legal-contents h2 { font-family: var(--font-display); font-size: 15px; font-weight: 650; margin: 0 0 18px; }
.fl-legal-contents ol { list-style: none; padding: 0; margin: 0; }
.fl-legal-contents li + li { margin-top: 12px; }
.fl-legal-contents a { display: block; color: #66717c; font-size: 14px; line-height: 1.5; text-decoration: none; }
.fl-legal-contents a:hover { color: #1c2430; text-decoration: underline; text-underline-offset: 4px; }
.fl-legal-panel { background: #fff; border: 1px solid #d9ddd8; border-radius: var(--fl-card-radius); box-shadow: var(--panel-shadow); padding: clamp(26px, 4vw, 52px); }
.fl-legal-panel h2 { font-family: var(--font-display); font-size: clamp(22px, 2.4vw, 27px); font-weight: 600; line-height: 1.35; letter-spacing: -.025em; margin: 42px 0 18px; scroll-margin-top: 112px; }
.fl-legal-panel p, .fl-legal-panel li { color: #56616d; font-size: 16px; line-height: 1.85; }
.fl-legal-panel p { margin: 0 0 18px; }
.fl-legal-panel .intro { font-size: 18px; line-height: 1.8; color: #35424f; margin-bottom: 34px; }
.fl-legal-panel ul { list-style: disc; margin: 0 0 22px; padding-left: 24px; }
.fl-legal-panel li + li { margin-top: 9px; }
.fl-legal-panel strong { color: #1c2430; font-weight: 600; }
.fl-legal-panel a { color: #1c2430; text-decoration: underline; text-decoration-color: #a6b0b9; text-underline-offset: 4px; overflow-wrap: anywhere; }
.fl-legal-panel .contact-box { background: #ffe9dc; border: 1px solid #ead5c7; border-radius: var(--fl-card-radius); padding: 28px; margin-top: 40px; }
.fl-legal-panel .contact-box h3 { font-family: var(--font-display); font-size: 21px; font-weight: 600; line-height: 1.4; margin: 0 0 12px; }
.fl-legal-main a:focus-visible { outline: 2px solid #1c2430; outline-offset: 5px; border-radius: 3px; }
@media (max-width: 900px) {
  .fl-legal-layout { grid-template-columns: 1fr; gap: 22px; }
  .fl-legal-contents { position: static; max-height: none; padding: 0 0 10px; }
  .fl-legal-contents ol { columns: 2; column-gap: 24px; }
  .fl-legal-contents li { break-inside: avoid; }
}
@media (max-width: 600px) {
  .fl-legal-wrap { width: calc(100% - 32px); }
  .fl-legal-hero { padding: 54px 0 30px; }
  .fl-legal-tabs { gap: 22px; margin-top: 28px; font-size: 14px; }
  .fl-legal-panel { padding: 24px; }
  .fl-legal-panel .intro { font-size: 17px; }
  .fl-legal-panel .contact-box { padding: 22px; }
}
