:root { --green: #20b447; --dark: #173d2a; --ink: #20332a; --muted: #5f7164; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: #f7faf7; font: 16px/1.7 "Segoe UI", Arial, sans-serif; }
a { color: #137f34; }
button { font: inherit; }
:focus-visible { outline: 3px solid #eab536; outline-offset: 3px; }
.wrap { width: min(100% - 40px, 860px); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 15px; z-index: 10; background: var(--dark); color: white; padding: 10px 15px; border-radius: 8px; }
.skip-link:focus { top: 12px; }
.legal-header { background: #fff; border-bottom: 1px solid #dce8dd; }
.legal-header .wrap { min-height: 80px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.legal-header img { display: block; width: 175px; height: auto; }
.legal-header a:last-child { font-size: 13px; font-weight: 800; text-decoration: none; }
.legal-hero { background: radial-gradient(circle at 65% 25%, #d9f3de, #eef8ee 54%, #f7faf7); padding: 75px 0 60px; }
.eyebrow { color: #138937; font-weight: 850; letter-spacing: .15em; font-size: 11px; text-transform: uppercase; }
h1,h2 { font-family: Arial, "Segoe UI", sans-serif; letter-spacing: -.06em; line-height: 1.12; }
h1 { max-width: 800px; margin: 18px 0 18px; font-size: clamp(42px,6vw,68px); }
.legal-hero p { max-width: 700px; color: var(--muted); margin: 0; font-size: 16px; }
.draft-note { margin: 30px 0 0; padding: 15px 19px; border: 1px solid #d2e7d6; border-left: 5px solid var(--green); background: #fff; border-radius: 10px; color: #385942; font-size: 13px; }
.legal-content { padding: 40px 0 85px; }
.legal-content section { padding: 28px 0; border-bottom: 1px solid #dbe7dd; }
.legal-content h2 { font-size: 29px; margin: 0 0 16px; }
.legal-content p, .legal-content li { max-width: 760px; font-size: 15px; }
.legal-content p { margin: 0 0 12px; }
.legal-content ul { margin: 0; padding-left: 20px; }
.legal-content li + li { margin-top: 7px; }
.legal-content .accessibility-controls { display: flex; gap: 10px; flex-wrap: wrap; }
.legal-content .accessibility-controls button { border: 1px solid #aed7b7; background: #fff; color: #12692e; border-radius: 9px; padding: 10px 14px; cursor: pointer; font-size: 13px; font-weight: 800; }
.legal-content .accessibility-controls button[aria-pressed="true"] { background: #dff4e4; border-color: #20b447; }
.placeholder { display: inline-block; padding: 0 5px; background: #fff0c6; color: #5b4512; border-radius: 3px; font-weight: 700; }
.legal-footer { background: #102b20; color: #bcd4c2; padding: 28px 0 38px; }
.legal-footer .wrap { display: flex; align-items: flex-start; justify-content: space-between; gap: 20px; flex-wrap: wrap; }
.legal-footer strong { color: #fff; }
.legal-footer nav { display: flex; gap: 12px 20px; flex-wrap: wrap; }
.legal-footer a { color: #d3ebd8; font-size: 12px; }
.legal-footer .accessibility-controls { width: 100%; display: flex; gap: 9px; }
.legal-footer button { border: 1px solid #66826d; background: transparent; color: #fff; border-radius: 7px; padding: 7px 11px; cursor: pointer; font-size: 12px; }
.legal-footer button[aria-pressed="true"] { background: #237344; }
.back-to-top { position: fixed; right: 18px; bottom: 18px; z-index: 10; border: 0; border-radius: 50%; width: 44px; height: 44px; background: #173d2a; color: white; cursor: pointer; box-shadow: 0 9px 20px #163c2780; }
.back-to-top[hidden] { display: none; }
html.large-text { zoom: 1.1; }
html.high-contrast { filter: contrast(1.25); }
@media(max-width:600px) { .legal-header .wrap { min-height: 70px; } .legal-header img { width: 142px; } .legal-hero { padding: 55px 0 45px; } .legal-content { padding-bottom: 60px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }
