:root { color-scheme:light; --ink:#17211d; --muted:#66736b; --green:#386b4a; --paper:#f4f6f3; --line:#dce2dc; --sans:'DM Sans',sans-serif; --display:'Manrope',sans-serif; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:var(--sans); -webkit-font-smoothing:antialiased; }
a { color:inherit; }
.wrap { width:min(1160px, calc(100% - 56px)); margin:auto; }
header { min-height:82px; display:flex; align-items:center; border-bottom:1px solid var(--line); }
nav { display:flex; align-items:center; justify-content:space-between; width:100%; }
.brand { text-decoration:none; font:800 18px var(--display); letter-spacing:-.055em; }
.nav-right { display:flex; gap:34px; align-items:center; font-size:13px; color:#4e5b53; }
.nav-right a { text-decoration:none; }
.contact-link { padding:11px 16px; border:1px solid #aab8ad; border-radius:4px; color:var(--ink); font-weight:600; }
.legal-document { max-width:800px; padding:48px 0; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.legal-document h1 { margin:40px 0 24px; font:600 clamp(32px,5vw,48px)/1.15 var(--display); letter-spacing:-.05em; }
.legal-document h2 { margin:36px 0 16px; font:600 24px/1.3 var(--display); letter-spacing:-.035em; }
.legal-document h3 { margin:28px 0 12px; font:600 19px/1.4 var(--display); }
.legal-document p { margin:0 0 18px; }
.legal-document li { margin:8px 0; }
.legal-document a { color:var(--green); text-underline-offset:3px; }
footer { padding:24px 0 27px; border-top:1px solid var(--line); color:#718076; font-size:11px; }
.footer-row { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:20px; }
.footer-brand { color:var(--ink); font:700 13px var(--display); letter-spacing:-.04em; }
.legal-links { display:flex; flex-wrap:wrap; gap:16px; width:auto; }
@media (max-width:760px) {
  .wrap { width:calc(100% - 38px); }
  header { min-height:70px; }
  .nav-right a:not(.contact-link) { display:none; }
  .legal-document { padding:24px 0; }
  .footer-row { align-items:flex-start; flex-direction:column; gap:12px; }
}
