* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:#fcfcfb; color:#282824; font-family:'IBM Plex Sans',sans-serif; }
a { color:#1f3a5f; }
a:hover { color:#16304f; }
::selection { background:#1f3a5f; color:#fff; }
.legal-header { position:sticky; top:0; z-index:10; background:rgba(252,252,251,.92); backdrop-filter:blur(12px); border-bottom:1px solid #ecece8; }
.legal-header__inner, .legal-footer__inner, .legal-main { max-width:900px; margin:0 auto; padding-left:40px; padding-right:40px; }
.legal-header__inner { min-height:94px; display:flex; align-items:center; justify-content:space-between; gap:24px; }
.legal-header img { height:56px; width:auto; display:block; }
.legal-back { font-size:14px; font-weight:600; text-decoration:none; }
.legal-main { padding-top:76px; padding-bottom:76px; }
.legal-kicker { margin:0 0 14px; font-family:'Space Grotesk',sans-serif; font-size:12px; font-weight:600; letter-spacing:.18em; color:#1f3a5f; text-transform:uppercase; }
h1, h2, h3 { font-family:'Space Grotesk',sans-serif; color:#16160f; }
h1 { margin:0 0 10px; font-size:46px; line-height:1.08; letter-spacing:-.025em; }
h2 { margin:40px 0 14px; font-size:26px; line-height:1.2; letter-spacing:-.01em; }
h3 { margin:26px 0 10px; font-size:19px; line-height:1.3; }
p, li { font-size:16px; line-height:1.7; color:#54544e; }
p { margin:0 0 16px; }
ul { margin:0 0 16px; padding-left:24px; }
li + li { margin-top:8px; }
.legal-updated { margin:0 0 40px; color:#7a7a74; }
.legal-note { margin:30px 0 0; padding:20px 22px; border:1px solid #dde5ee; border-radius:10px; background:#f3f6fa; }
.legal-footer { border-top:1px solid #ecece8; background:#fafaf8; }
.legal-footer__inner { padding-top:24px; padding-bottom:24px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; font-size:13px; color:#7a7a74; }
.legal-footer__links { display:flex; gap:16px; flex-wrap:wrap; }
.legal-footer a { color:#55554f; text-decoration:none; }
@media (max-width:600px) {
  .legal-header__inner, .legal-footer__inner, .legal-main { padding-left:20px; padding-right:20px; }
  .legal-header__inner { min-height:80px; }
  .legal-header img { height:46px; }
  .legal-main { padding-top:48px; padding-bottom:48px; }
  h1 { font-size:36px; }
  h2 { font-size:24px; }
}
