.page-legal {
  min-height:100vh;
  color:#263f33;
  background:#f7f8f3;
  font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
.legal-header {
  min-height:72px;
  padding:14px max(24px,calc((100% - 1180px)/2));
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  background:#fff;
  border-bottom:1px solid #e1e8df;
}
.legal-header .brand {font-size:20px;letter-spacing:-.6px}
.legal-header nav {display:flex;gap:22px;font-size:12px}
.legal-header nav a,.legal-tabs a,.legal-footer nav a {color:#557163;text-decoration:none}
.legal-header nav a:hover,.legal-tabs a:hover,.legal-footer a:hover {color:#245d43}
.legal-wrap {max-width:900px;margin:auto;padding:38px 24px 72px}
.legal-back {display:inline-flex;align-items:center;min-height:36px;color:#54715e;font-size:12px;text-decoration:none}
.legal-intro {padding:30px 0 23px}
.legal-intro .eyebrow {color:#75876e;font-size:10px;font-weight:700;letter-spacing:1.8px}
.legal-intro h1 {margin:12px 0;font-size:clamp(30px,4vw,44px);line-height:1.12;letter-spacing:-1.4px;color:#243e32}
.legal-intro p {max-width:700px;margin:0;color:#667568;font-size:15px;line-height:1.7}
.legal-intro small {display:block;margin-top:18px;color:#859184;font-size:11px}
.legal-tabs {display:flex;flex-wrap:wrap;gap:8px;padding:13px;margin:0 0 18px;background:#edf2eb;border:1px solid #e1e9df;border-radius:14px}
.legal-tabs a {padding:9px 13px;border-radius:9px;font-size:12px;transition:background .18s,color .18s,transform .18s}
.legal-tabs a:hover {transform:translateY(-1px)}
.legal-tabs a[aria-current="page"] {background:#fff;color:#285c43;box-shadow:0 2px 9px #29483210}
.legal-content {padding:clamp(23px,4vw,42px);background:#fff;border:1px solid #e0e8de;border-radius:18px;box-shadow:0 12px 34px #284a2a08;animation:legal-enter .35s ease both}
.legal-content h2 {margin:30px 0 10px;font-size:18px;line-height:1.35;letter-spacing:-.35px;color:#2d4b3b}
.legal-content h2:first-child {margin-top:0}
.legal-content p,.legal-content li {color:#5c6e60;font-size:14px;line-height:1.8}
.legal-content p {margin:9px 0 14px}
.legal-content ul {padding-left:22px}
.legal-content li {padding:3px 0}
.legal-content a,.legal-contact a {color:#286348;text-decoration:underline;text-decoration-color:#b7cdb9;text-underline-offset:3px}
.legal-content code {padding:2px 5px;background:#f0f4ee;border-radius:5px;color:#385942;font-size:.9em}
.legal-contact {margin:18px 0 0;padding:17px 20px;border:1px solid #e2eade;border-radius:12px;background:#f0f5ed;color:#667568;font-size:12px}
.legal-footer {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px max(24px,calc((100% - 900px)/2));border-top:1px solid #e1e8df;color:#8a958a;font-size:11px}
.legal-footer a {color:#7b8c7e;text-decoration:none}
.legal-footer-brand {font-weight:700;color:#526c58!important}
.legal-footer nav {display:flex;flex-wrap:wrap;gap:16px}
.page-landing .footer-legal-links,.page-community .footer-legal-links {display:flex;flex-wrap:wrap;gap:14px;margin-left:auto;font-size:10px}
.page-landing .footer-legal-links a,.page-community .footer-legal-links a {color:#849184;text-decoration:none;transition:color .16s}
.page-landing .footer-legal-links a:hover,.page-community .footer-legal-links a:hover {color:#2e6046}
.page-community .site-footer {display:flex;align-items:center;justify-content:center;gap:12px 22px;flex-wrap:wrap}
.page-community .site-footer>span {font-size:11px}
.page-community .site-footer>a:last-child {font-size:10px;color:#8a958a}
.page-planner .app-version {display:grid;gap:9px;line-height:1.4}
.page-planner .app-legal-links {display:flex;justify-content:center;flex-wrap:wrap;gap:4px 10px}
.page-planner .app-legal-links a {color:#78877d;font-size:9px;text-decoration:none}
.page-planner .app-legal-links a:hover {color:#286348}
.page-admin .page-footer {display:flex;align-items:center;flex-wrap:wrap;gap:8px 15px}
.page-admin .admin-legal-links {display:flex;flex-wrap:wrap;gap:10px;margin:0 0 0 auto}
.page-admin .admin-legal-links a {color:#87968a;font-size:10px;text-decoration:none}
.page-admin .admin-legal-links a:hover {color:#286348}
.page-community .distribution-consent {display:flex;align-items:flex-start;gap:9px;margin:4px 0 16px;color:#718074;font-size:11px;line-height:1.55}
.page-community .distribution-consent input {flex:0 0 16px;width:16px;height:16px;margin:1px 0 0;padding:0;accent-color:#286348}
.page-community .distribution-consent a {color:#286348;text-decoration:underline;text-underline-offset:2px}
.cookie-notice {position:fixed;z-index:5000;right:22px;bottom:20px;display:flex;align-items:center;gap:20px;width:min(520px,calc(100vw - 32px));padding:17px 18px;background:#fff;border:1px solid #dfe8dc;border-radius:15px;box-shadow:0 14px 48px #19372520;animation:cookie-enter .25s ease both}
.cookie-notice-copy {min-width:0}
.cookie-notice-copy strong {display:block;margin-bottom:4px;color:#2c4939;font-size:13px}
.cookie-notice-copy p {margin:0;color:#748176;font-size:11px;line-height:1.55}
.cookie-notice-copy a {color:#32654a;text-decoration:underline;text-underline-offset:2px}
.cookie-notice-accept {flex:0 0 auto;min-height:38px;padding:8px 15px;border:0;border-radius:9px;background:#286348;color:#fff;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:background .18s,transform .18s}
.cookie-notice-accept:hover {background:#1f5039;transform:translateY(-1px)}
.cookie-notice-accept:focus-visible,.cookie-notice a:focus-visible,.page-legal a:focus-visible {outline:2px solid #4a805d;outline-offset:3px}
.cookie-notice.is-closing {opacity:0;transform:translateY(8px);transition:opacity .18s,transform .18s}
@keyframes cookie-enter {from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes legal-enter {from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px) {
  .legal-header {align-items:flex-start;flex-direction:column;gap:12px;padding:14px 18px}
  .legal-header nav {gap:17px}
  .legal-wrap {padding:25px 16px 48px}
  .legal-intro {padding:22px 0 18px}
  .legal-content {padding:22px 19px;border-radius:14px}
  .legal-content h2 {font-size:16px}
  .legal-content p,.legal-content li {font-size:13px}
  .legal-footer {align-items:flex-start;flex-direction:column;padding:19px 18px}
  .legal-footer nav {gap:12px}
  .page-landing .footer-legal-links,.page-community .footer-legal-links {justify-content:center;margin-left:0}
  .page-admin .admin-legal-links {margin-left:0}
  .cookie-notice {right:12px;bottom:12px;gap:12px;padding:14px;border-radius:13px}
  .cookie-notice-accept {padding:8px 11px}
}
@media(max-width:400px) {
  .cookie-notice {align-items:flex-start;flex-direction:column}
  .cookie-notice-accept {align-self:flex-end}
}
@media(prefers-reduced-motion:reduce) {
  .legal-content,.cookie-notice {animation:none}
  .legal-tabs a,.cookie-notice-accept,.cookie-notice.is-closing {transition:none}
}
