:root{--primary:#2f6b3a;--primary-dark:#255630;--ink:#13201a;--muted:#46534b;--bg:#f2f3ee;--surface:#e6e9e1;--field:#13201a;--margin:clamp(16px,2.6vw,40px)}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Work Sans',system-ui,sans-serif;background:var(--bg);color:var(--ink);line-height:1.6;font-size:17px}
header{padding:20px 0}
.container{padding:0 var(--margin)}
nav{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}
.logo{font-size:clamp(28px,3vw,40px);font-weight:300;letter-spacing:-.05em;color:var(--ink);text-decoration:none}
.nav-links{display:flex;gap:6px 24px;list-style:none;flex-wrap:wrap}
.nav-links a{color:var(--ink);font-weight:500;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:5px;transition:text-underline-offset .2s ease}
.nav-links a:hover{text-underline-offset:8px;color:var(--primary)}

.legal{max-width:820px;margin:56px auto 96px;background:#fff;padding:clamp(24px,4vw,56px)}
.legal h1{font-size:clamp(36px,4.4vw,60px);font-weight:300;letter-spacing:-.04em;line-height:1.05;margin-bottom:12px}
.legal .updated{color:var(--muted);font-size:14px;margin-bottom:32px}
.legal h2{font-size:24px;font-weight:400;letter-spacing:-.02em;line-height:1.25;margin:48px 0 12px;scroll-margin-top:20px}
.legal h3{font-size:18px;font-weight:500;margin:24px 0 8px}
.legal p,.legal li{margin-bottom:10px}
.legal ul,.legal ol{padding-left:24px;margin-bottom:14px}
.legal a{color:var(--primary);font-weight:500;text-underline-offset:3px}
.legal .toc{background:var(--surface);padding:20px 24px;margin-bottom:10px}
.legal .toc ol{margin:0}
.legal .toc li{margin-bottom:4px}
.legal .note{background:var(--bg);padding:14px 18px;margin:16px 0;font-size:16px}
.table-wrap{overflow-x:auto;margin:14px 0 20px}
.legal table{width:100%;border-collapse:collapse;font-size:15px;min-width:560px}
.legal th,.legal td{text-align:left;vertical-align:top;padding:10px 12px;border-bottom:1px solid #d8dcd2}
.legal th{background:var(--surface);font-weight:500}
.legal .form-sample{background:var(--bg);padding:20px}

footer{background:var(--field);color:#d4dbd0;padding:32px var(--margin);font-size:15px}
footer .container{padding:0}
footer a{color:#f4f6f0;margin-right:18px}
footer p{margin-top:10px}

@media (max-width:768px){
  .legal{margin:20px 0 64px;padding:24px 16px}
  .legal h2{font-size:21px}
  nav{flex-direction:column;align-items:flex-start}
}
@media print{header,footer,.hgc{display:none}.legal{margin:0;padding:0}}

:focus-visible{outline:3px solid var(--primary);outline-offset:3px}
