/* =========================================================================
   legal-page.css — Privacy, Terms, DPA, SLA. Bootstrap 5.3.3. No images.
   Every class is lg- scoped.
   ========================================================================= */
:root {
  --lg-green: rgba(28, 147, 35, 1);
  --lg-green-deep: #1a6b1f;
  --lg-tint: rgba(28, 147, 35, 0.06);
  --lg-ink: rgba(14, 14, 14, 1);
  --lg-ink-2: #334155;
  --lg-muted: rgba(78, 78, 78, 1);
  --lg-line: rgba(235, 235, 235, 1);
  --lg-serif: "Libertinus Serif Display", Georgia, serif;
  --lg-sans: "Inter", system-ui, -apple-system, sans-serif;
}
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body.lg-page { font-family: var(--lg-sans); color: var(--lg-ink-2); background: #fff; -webkit-font-smoothing: antialiased; }

/* header — solid on this page (light hero, no photo behind it) */
.lg-page .site-header { background: #fff; box-shadow: 0 1px 0 rgba(15,23,42,0.06); }
.lg-page .site-header .logo-img { filter: none; }
.lg-page .site-header .mega-trigger { color: #0f172a; }
.lg-page .site-header .btn-demo { background: rgba(14,14,14,1); color: #fff; }
.lg-page .site-header .nav-toggle span { background: #0f172a; }
  .lg-page a {color: var(--lg-green);}
.lg-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--lg-green); z-index: 1040; transition: width 80ms linear; }

/* hero */
.lg-hero { padding: 120px 0 56px; border-bottom: 1px solid var(--lg-line);
  background: radial-gradient(120% 80% at 50% 0%, rgba(28,147,35,0.07) 0%, rgba(28,147,35,0) 60%), #fff; }
.lg-pill { display: inline-flex; align-items: center; gap: 10px; padding: 8px 18px; border-radius: 99px;
  background: rgba(28,147,35,0.08); border: 1px solid rgba(28,147,35,0.22);
  font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lg-green-deep); }
.lg-pill-dot { width: 6px; height: 6px; border-radius: 50%; background: var(--lg-green); }
.lg-h1 { font-family: var(--lg-serif); font-weight: 400; font-size: 64px; line-height: 1.02;
  letter-spacing: -0.03em; color: var(--lg-ink); margin: 24px 0 20px; text-wrap: balance; }
.lg-em { font-style: normal; background: linear-gradient(90deg, #1a7a20 0%, #1C9323 45%, #3FD15F 100%);
  -webkit-background-clip: text; background-clip: text; color: transparent; }
.lg-lede { font-size: 19px; line-height: 30px; color: #5b6b5d; max-width: 36em; margin: 0; text-wrap: pretty; }

/* body */
.lg-main { padding: 64px 0 96px; }
.lg-toc { position: sticky; top: 96px; }
.lg-toc-label { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lg-muted); margin: 0 0 14px; }
.lg-toc ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--lg-line); max-height: calc(100vh - 220px); overflow-y: auto; }
.lg-toc a { display: block; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent;
  font-size: 14px; line-height: 20px; color: var(--lg-muted); transition: color 150ms ease, border-color 150ms ease; }
.lg-toc a:hover { color: var(--lg-ink); text-decoration: none; }
.lg-toc a.is-active { color: var(--lg-ink); font-weight: 600; border-left-color: var(--lg-green); }
.lg-toc-mobile { display: none; }

.lg-article { max-width: 800px; }
.lg-intro { font-size: 18px; line-height: 31px; padding-bottom: 32px; margin-bottom: 8px; border-bottom: 1px solid var(--lg-line); }
.lg-intro p { font-size: 18px; line-height: 31px; color: var(--lg-ink); margin: 0 0 16px; text-wrap: pretty; }
.lg-intro p:last-child { margin-bottom: 0; }

.lg-section { padding: 40px 0; border-bottom: 1px solid var(--lg-line); scroll-margin-top: 88px; }
.lg-section:last-of-type { border-bottom: 0; }
.lg-h2 { display: flex; align-items: baseline; gap: 14px; font-family: var(--lg-serif); font-weight: 400;
  font-size: clamp(28px, 3vw, 36px); line-height: 1.15; letter-spacing: -0.02em; color: var(--lg-ink); margin: 0 0 20px; text-wrap: balance; }
.lg-num { flex: 0 0 auto; font-family: var(--lg-sans); font-size: 13px; font-weight: 600; letter-spacing: 0.04em;
  color: var(--lg-green-deep); background: var(--lg-tint); border-radius: 6px; padding: 4px 8px; transform: translateY(-4px); font-variant-numeric: tabular-nums; }
.lg-h3 { font-family: var(--lg-sans); font-size: 17px; font-weight: 600; line-height: 26px; letter-spacing: -0.01em; color: var(--lg-ink); margin: 28px 0 10px; }
.lg-section > .lg-h3:first-of-type:nth-child(2), .lg-box > .lg-h3:first-child { margin-top: 0; }
.lg-section p, .lg-section li, .lg-section address { font-size: 16px; line-height: 24px; color: var(--lg-ink-2); text-wrap: pretty; }
.lg-section p { margin: 0 0 14px; }
.lg-section p:last-child { margin-bottom: 0; }
.lg-section strong, .lg-section b { color: var(--lg-ink); font-weight: 600; }
.lg-section i, .lg-section em { font-style: normal; font-weight: 600; color: var(--lg-ink); }
.lg-section ul, .lg-section ol { margin: 0 0 16px; padding-left: 22px; }
.lg-section li { margin-bottom: 10px; padding-left: 4px; }
.lg-section li::marker { color: var(--lg-green); }
.lg-section address { font-style: normal; padding: 20px 24px; border: 1px solid var(--lg-line); border-radius: 14px; }

.lg-split { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 8px 0 20px; }
.lg-box { border: 1px solid var(--lg-line); border-radius: 16px; padding: 24px; background: #fff; }
.lg-box ul { margin-bottom: 0; }

.lg-sev { display: grid; gap: 12px; margin: 24px 0; }
.lg-sev-row { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 16px; padding: 20px; border: 1px solid var(--lg-line); border-radius: 14px; }
.lg-sev-tag { width: 48px; height: 48px; border-radius: 12px; display: grid; place-items: center; font-size: 15px; font-weight: 700; }
.lg-sev-1 { background: #fdecec; color: #b42318; }
.lg-sev-2 { background: #fff3e6; color: #b54708; }
.lg-sev-3 { background: #fefbe8; color: #8a6d00; }
.lg-sev-4 { background: var(--lg-tint); color: var(--lg-green-deep); }
.lg-section .lg-sev-name { font-weight: 600; color: var(--lg-ink); margin-bottom: 4px; }

.lg-table-wrap { border: 1px solid var(--lg-line); border-radius: 16px; margin: 8px 0 16px; }
.lg-table { font-size: 15px; --bs-table-bg: transparent; }
.lg-table th, .lg-table td { padding: 16px 18px; border-color: var(--lg-line); vertical-align: middle; white-space: nowrap; }
.lg-table thead th { font-size: 12px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--lg-muted); background: #fafbfa; }
.lg-table tbody th { font-weight: 600; color: var(--lg-ink); }
.lg-table tbody td { font-family: var(--lg-serif); font-size: 22px; color: var(--lg-ink); }
.lg-table tr:last-child > * { border-bottom: 0; }

.lg-doc { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
  margin: 24px 0; padding: 20px 24px; border-radius: 16px; background: var(--lg-tint); border: 1px solid rgba(28,147,35,0.18); }
.lg-doc-text { display: flex; flex-direction: column; gap: 2px; }
.lg-doc-label { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lg-green-deep); }
.lg-doc-name { font-family: var(--lg-serif); font-size: 24px; color: var(--lg-ink); }
.lg-btn { display: inline-flex; align-items: center; height: 44px; padding: 0 22px; border-radius: 99px;
  background: var(--lg-ink); color: #fff !important; font-size: 15px; font-weight: 600; text-decoration: none !important; transition: background 250ms ease; }
.lg-btn:hover { background: var(--lg-green); }

.lg-contact { margin-top: 48px; padding: 32px; border-radius: 20px; background: var(--lg-ink); color: #fff;
  display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; }
.lg-contact-label { font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: #8fe39b; margin: 0 0 8px; }
.lg-contact-name { font-family: var(--lg-serif); font-size: 28px; line-height: 1.2; margin: 0; color: #fff; }
.lg-contact-note { font-size: 14px; line-height: 22px; color: rgba(255,255,255,0.72); margin: 6px 0 0; }
.lg-contact .lg-btn { background: #fff; color: var(--lg-ink) !important; }
.lg-contact .lg-btn:hover { background: var(--lg-green);color: #fff !important; }

.lg-top { position: fixed; right: 24px; bottom: 24px; width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--lg-line);
  background: #fff; color: var(--lg-ink); display: grid; place-items: center; box-shadow: 0 6px 20px rgba(15,23,42,0.08);
  opacity: 0; pointer-events: none; transform: translateY(8px); transition: opacity 200ms ease, transform 200ms ease; z-index: 1030; }
.lg-top.is-on { opacity: 1; pointer-events: auto; transform: none; }
.lg-top:hover { border-color: var(--lg-green); color: var(--lg-green); }

@media (max-width: 991.98px) {
  .lg-hero { padding: 96px 0 40px; }
  .lg-main { padding: 0 0 72px; }
  .lg-toc-mobile { display: block; position: sticky; top: 0; z-index: 1020; background: #fff; border-bottom: 1px solid var(--lg-line); margin-bottom: 24px; }
  .lg-toc-btn { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 12px; height: 56px; padding: 0;
    border: 0; background: none; font-size: 15px; font-weight: 600; color: var(--lg-ink); text-align: left; }
  .lg-toc-btn .lg-toc-current { font-weight: 400; color: var(--lg-muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; text-align: right; }
  .lg-toc-btn svg { flex: 0 0 auto; transition: transform 200ms ease; }
  .lg-toc-btn[aria-expanded="true"] svg { transform: rotate(180deg); }
  .lg-toc-mobile ol { list-style: none; margin: 0; padding: 0 0 16px; max-height: 60vh; overflow-y: auto; }
  .lg-toc-mobile a { display: block; padding: 10px 0; font-size: 15px; color: var(--lg-ink-2); border-top: 1px solid var(--lg-line); }
  .lg-toc-mobile a.is-active { color: var(--lg-green-deep); font-weight: 600; }
}
@media (max-width: 767.98px) {
  .lg-split { grid-template-columns: minmax(0, 1fr); }
  .lg-contact { grid-template-columns: minmax(0, 1fr); padding: 24px; }
  .lg-section { padding: 32px 0; }
  .lg-intro p { font-size: 17px; line-height: 29px; }
  .lg-sev-row { grid-template-columns: minmax(0, 1fr); gap: 12px; }
}
