:root { --ink:#07170f; --ink-soft:#0d271a; --green:#146237; --green-light:#3fd07b; --lime:#cafa57; --cream:#f4f5ed; --white:#fff; --muted:#607068; --line:rgba(20,98,55,.2); --shadow:0 26px 70px rgba(7,23,15,.1); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:var(--cream); font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; line-height:1.7; }
a { color:inherit; }
.skip-link { position:fixed; left:16px; top:-80px; z-index:20; padding:10px 16px; border-radius:999px; background:var(--lime); font-weight:800; }
.skip-link:focus { top:16px; }
.legal-header { position:sticky; top:0; z-index:10; display:flex; align-items:center; justify-content:space-between; gap:24px; min-height:82px; padding:16px clamp(20px,5vw,72px); color:var(--white); background:rgba(7,23,15,.96); border-bottom:1px solid rgba(255,255,255,.1); backdrop-filter:blur(18px); }
.legal-brand img { display:block; width:104px; height:auto; }
.legal-nav { display:flex; align-items:center; gap:22px; font-size:14px; font-weight:750; }
.legal-nav a { text-decoration:none; }
.legal-nav .legal-cta { padding:10px 17px; border-radius:999px; color:var(--ink); background:var(--lime); }
.legal-hero { position:relative; overflow:hidden; padding:clamp(72px,10vw,132px) clamp(20px,7vw,110px) clamp(64px,8vw,104px); color:var(--white); background:var(--ink); }
.legal-hero::after { content:""; position:absolute; right:-12vw; bottom:-24vw; width:54vw; height:54vw; border-radius:50%; background:rgba(63,208,123,.12); }
.legal-hero-inner { position:relative; z-index:1; max-width:870px; margin:0 auto; }
.legal-kicker { margin:0 0 20px; color:var(--green-light); font-size:13px; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.legal-hero h1 { max-width:760px; margin:0; font-size:clamp(42px,7vw,84px); line-height:.98; letter-spacing:-.055em; }
.legal-summary { max-width:720px; margin:28px 0 0; color:#c8d5cd; font-size:clamp(17px,2vw,21px); }
.legal-meta { display:flex; flex-wrap:wrap; gap:10px 24px; margin-top:28px; color:#a8b9af; font-size:13px; }
.legal-shell { display:grid; grid-template-columns:minmax(190px,250px) minmax(0,780px); gap:clamp(32px,6vw,88px); max-width:1180px; margin:0 auto; padding:64px 24px 100px; }
.legal-toc { align-self:start; position:sticky; top:112px; padding:24px; border:1px solid var(--line); border-radius:22px; background:rgba(255,255,255,.76); }
.legal-toc strong { display:block; margin-bottom:12px; font-size:13px; letter-spacing:.08em; text-transform:uppercase; }
.legal-toc a { display:block; padding:6px 0; color:var(--muted); font-size:13px; text-decoration:none; }
.legal-toc a:hover,.legal-toc a:focus-visible { color:var(--green); }
.legal-content { min-width:0; padding:clamp(26px,5vw,58px); border:1px solid var(--line); border-radius:30px; background:var(--white); box-shadow:var(--shadow); }
.legal-content section { scroll-margin-top:110px; }
.legal-content section+section { margin-top:52px; padding-top:46px; border-top:1px solid var(--line); }
.legal-content h2 { margin:0 0 16px; font-size:clamp(25px,3vw,34px); line-height:1.15; letter-spacing:-.03em; }
.legal-content h3 { margin:28px 0 10px; font-size:19px; line-height:1.3; }
.legal-content p,.legal-content li { color:#35473d; }
.legal-content ul,.legal-content ol { padding-left:22px; }
.legal-content li+li { margin-top:8px; }
.legal-note { padding:20px 22px; border-left:4px solid var(--green-light); border-radius:4px 18px 18px 4px; background:#edf9f1; }
.legal-warning { border-left-color:#d8971b; background:#fff8e9; }
.legal-card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0; }
.legal-card { padding:20px; border:1px solid var(--line); border-radius:18px; background:#f7faf7; }
.legal-card strong { display:block; margin-bottom:6px; }
.legal-contact { padding:26px; border-radius:22px; color:var(--white); background:var(--ink-soft); }
.legal-contact p { color:#d1ddd5; }
.legal-contact a { color:var(--lime); font-weight:800; }
.legal-button { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding:0 22px; border:0; border-radius:999px; color:var(--ink); background:var(--lime); font:inherit; font-weight:850; text-decoration:none; cursor:pointer; }
.legal-footer { padding:42px 24px; color:#b9c7bf; background:var(--ink); text-align:center; }
.legal-footer img { width:92px; }
.legal-footer-links { display:flex; flex-wrap:wrap; justify-content:center; gap:12px 22px; margin:18px 0; font-size:13px; }
.legal-footer-links a { text-decoration:none; }
.legal-footer small { display:block; margin-top:8px; }
@media (max-width:760px) { .legal-header{min-height:70px}.legal-nav a:not(.legal-cta){display:none}.legal-shell{display:block;padding:32px 16px 72px}.legal-toc{position:static;margin-bottom:20px}.legal-content{padding:27px 22px;border-radius:24px}.legal-card-grid{grid-template-columns:1fr} }
@media (prefers-reduced-motion:reduce) { html{scroll-behavior:auto} }
