:root {
  --legal-bg: rgb(255, 249, 240);
  --legal-surface: #ffffff;
  --legal-text: #25302a;
  --legal-muted: #5c665f;
  --legal-dark: #17241e;
  --legal-gold: #b98f43;
  --legal-border: rgba(23, 36, 30, .14);
}
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--legal-text);
  background: var(--legal-bg);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.72;
}
.legal-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(23, 36, 30, .97);
  box-shadow: 0 8px 30px rgba(0,0,0,.14);
}
.legal-nav {
  width: min(100% - 2rem, 1180px);
  min-height: 76px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.legal-brand { color: #fff; font-family: Georgia, "Times New Roman", serif; font-weight: 700; letter-spacing: .08em; }
.legal-brand small { display:block; color:#dcc28d; font-family:Arial,Helvetica,sans-serif; font-size:.65rem; letter-spacing:.18em; }
.legal-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: .55rem .95rem;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  color: #fff;
  text-decoration: none;
}
.legal-back:hover { background:#fff; color:var(--legal-dark); }
.legal-hero {
  padding: clamp(3rem, 7vw, 6rem) 1rem 2rem;
  background: linear-gradient(135deg, #17241e, #31453a);
  color: #fff;
}
.legal-hero__inner { width:min(100%, 980px); margin:0 auto; }
.legal-kicker { margin:0 0 .8rem; color:#dcc28d; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.legal-hero h1 { margin:0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2rem,6vw,4rem); line-height:1.08; }
.legal-updated { margin:1rem 0 0; color:rgba(255,255,255,.82); }
.legal-layout { width:min(100% - 2rem, 1180px); margin:2rem auto 4rem; display:grid; grid-template-columns:260px minmax(0,1fr); gap:2rem; align-items:start; }
.legal-toc { position:sticky; top:96px; padding:1.25rem; border:1px solid var(--legal-border); border-radius:16px; background:var(--legal-surface); }
.legal-toc strong { display:block; margin-bottom:.7rem; }
.legal-toc a { display:block; padding:.35rem 0; color:var(--legal-text); text-decoration:none; }
.legal-toc a:hover { color:#7d5b1e; text-decoration:underline; }
.legal-article { min-width:0; padding:clamp(1.2rem,4vw,3rem); border:1px solid var(--legal-border); border-radius:20px; background:var(--legal-surface); box-shadow:0 18px 60px rgba(23,36,30,.07); }
.legal-article section { padding:0; margin:0 0 2.4rem; }
.legal-article h2 { margin:0 0 .8rem; color:var(--legal-dark); font-family:Georgia,"Times New Roman",serif; font-size:clamp(1.45rem,3vw,2rem); line-height:1.25; }
.legal-article h3 { margin:1.3rem 0 .5rem; font-size:1.08rem; }
.legal-article p, .legal-article li { color:var(--legal-muted); }
.legal-article ul, .legal-article ol { padding-left:1.35rem; }
.legal-note { padding:1rem 1.15rem; border-left:4px solid var(--legal-gold); border-radius:8px; background:#fbf6e9; }
.legal-contact { padding:1.2rem; border-radius:14px; background:#eef1ed; }
.legal-footer { padding:2.3rem 1rem; color:#f5f4ef; background:var(--legal-dark); }
.legal-footer__inner { width:min(100%,1180px); margin:0 auto; display:grid; gap:1rem; text-align:center; }
.legal-footer__links { display:flex; flex-wrap:wrap; justify-content:center; gap:.6rem 1rem; }
.legal-footer a { color:#f5f4ef; }
@media (max-width: 820px) {
  .legal-layout { grid-template-columns:1fr; }
  .legal-toc { position:static; }
}
@media (max-width: 480px) {
  .legal-nav { width:min(100% - 1rem,1180px); min-height:68px; }
  .legal-brand { font-size:.9rem; }
  .legal-back { padding:.5rem .7rem; font-size:.82rem; }
  .legal-layout { width:min(100% - 1rem,1180px); margin-top:1rem; }
  .legal-article { padding:1rem; border-radius:14px; }
  .legal-hero { padding-left:.75rem; padding-right:.75rem; }
}
