:root {
  --forest: #183620;
  --forest-deep: #102819;
  --leaf: #68983c;
  --paper: #fafaf8;
  --field: #f2f4f0;
  --ink: #1a1a1a;
  --muted: #596357;
  --line: rgba(24, 54, 32, 0.16);
  --display: "Poppins", system-ui, sans-serif;
  --body: "Open Sans", system-ui, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--field); font: 16px/1.68 var(--body); }
a { color: inherit; }

.legal-header { border-bottom: 1px solid var(--line); background: var(--paper); }
.legal-header-inner,
.legal-footer-inner,
.legal-content { width: min(100% - 40px, 1080px); margin: 0 auto; }
.legal-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 24px; min-height: 94px; }
.legal-brand { display: flex; align-items: center; width: 220px; height: 60px; overflow: hidden; }
.legal-brand img { display: block; width: 270px; max-width: none; height: auto; transform: translate(-18px, -56px); mix-blend-mode: multiply; }
.legal-home { color: var(--forest); font-weight: 700; text-decoration: none; }
.legal-home:hover { color: var(--leaf); }

.legal-hero { padding: clamp(56px, 9vw, 112px) 0 clamp(38px, 6vw, 72px); background: var(--forest); color: #fff; }
.legal-hero-inner { width: min(100% - 40px, 1080px); margin: 0 auto; }
.legal-eyebrow { margin: 0 0 14px; color: #b8d68c; font: 800 11px/1.2 var(--display); letter-spacing: 0.14em; text-transform: uppercase; }
.legal-hero h1 { max-width: 800px; margin: 0; font: 800 clamp(38px, 6vw, 68px)/1.03 var(--display); letter-spacing: 0; }
.legal-date { margin: 20px 0 0; color: rgba(255, 255, 255, 0.72); font-size: 14px; }

.legal-content { padding: clamp(42px, 7vw, 90px) 0; }
.legal-intro { max-width: 790px; margin: 0 0 56px; color: var(--muted); font-size: 18px; }
.legal-section { max-width: 820px; padding: 34px 0; border-top: 1px solid var(--line); }
.legal-section h2 { margin: 0 0 13px; color: var(--forest); font: 800 clamp(23px, 3vw, 32px)/1.15 var(--display); letter-spacing: 0; }
.legal-section p { margin: 0 0 15px; }
.legal-section ul { margin: 0 0 15px; padding-left: 21px; }
.legal-section li + li { margin-top: 8px; }
.legal-callout { margin: 22px 0 0; padding: 18px 20px; border-left: 4px solid var(--leaf); color: #24452d; background: #e8f0dd; }
.legal-contact { margin-top: 16px; font-weight: 700; }
.legal-contact a { color: var(--forest); }

.legal-footer { border-top: 1px solid var(--line); background: var(--paper); }
.legal-footer-inner { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; padding: 28px 0 34px; color: var(--muted); font-size: 13px; }
.legal-footer a { color: var(--forest); font-weight: 700; }
.legal-footer .legal-rule { width: 28px; height: 1px; background: var(--line); }

.call-float { position: fixed; right: 22px; bottom: 22px; z-index: 20; display: inline-flex; align-items: center; min-height: 48px; padding: 0 18px; border: 1px solid #df6f2d; border-radius: 8px; color: #fff; background: #df6f2d; box-shadow: 0 14px 30px rgba(24, 54, 32, 0.28); font: 700 14px/1 "Poppins", system-ui, sans-serif; text-decoration: none; }
.call-float:hover { border-color: #b95622; background: #b95622; }

@media (max-width: 640px) {
  .legal-header-inner,
  .legal-footer-inner { min-height: 82px; padding-bottom: 104px; }
  .legal-brand { width: 183px; height: 52px; }
  .legal-brand img { width: 230px; transform: translate(-15px, -48px); }
  .legal-home { font-size: 13px; }
  .legal-intro { margin-bottom: 38px; font-size: 16px; }
  .legal-section { padding: 27px 0; }
  .legal-footer .legal-rule { display: none; }
  .legal-footer a { width: 100%; }
}
