:root { --green: #174b21; --green-dark: #0f3417; --green-deep: #0a2610; --green-soft: #f4f7f4; --text: #14201a; --muted: #5b6a60; --border: #dbe4dd; }
* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Inter', system-ui, -apple-system, sans-serif; background: #fff; color: var(--text); line-height: 1.7; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.container { max-width: 1160px; margin: 0 auto; padding: 0 20px; }

header { position: sticky; top: 0; z-index: 50; background: rgba(255,255,255,.92); backdrop-filter: blur(12px); border-bottom: 1px solid var(--border); }
.nav { display: flex; align-items: center; justify-content: space-between; height: 76px; gap: 16px; }
.logo img { height: 30px; width: auto; display: block; }
.btn { display: inline-flex; align-items: center; white-space: nowrap; flex-shrink: 0; background: var(--green); color: #fff; font-weight: 700; padding: 10px 20px; border-radius: 999px; font-size: .95rem; transition: background .2s; }
.btn:hover { background: var(--green-dark); }

.legal { max-width: 820px; margin: 0 auto; padding: 70px 20px 100px; overflow-wrap: anywhere; }
.back { display: inline-block; color: var(--green); font-weight: 600; margin-bottom: 28px; }
.legal h1 { font-family: 'Josefin Sans', sans-serif; font-size: clamp(2.2rem, 5vw, 3rem); color: var(--green-deep); margin-bottom: 12px; line-height: 1.1; }
.legal .stand { color: var(--muted); margin-bottom: 36px; }
.legal h2 { font-family: 'Josefin Sans', sans-serif; font-size: 1.5rem; color: var(--green-deep); margin: 48px 0 14px; line-height: 1.25; }
.legal h3 { font-size: 1.05rem; color: var(--green-deep); margin: 26px 0 8px; }
.legal p { margin-bottom: 12px; color: #2c3a31; }
.legal ul { padding-left: 22px; margin-bottom: 16px; color: #2c3a31; }
.legal li { margin-bottom: 4px; }
.legal a { color: var(--green); text-decoration: underline; text-underline-offset: 2px; }
.legal .box { background: var(--green-soft); border: 1px solid var(--border); border-radius: 14px; padding: 22px 24px; margin: 16px 0 20px; }
.legal .box p:last-child { margin-bottom: 0; }

footer { padding: 40px 0; background: var(--green-soft); color: var(--muted); font-size: .9rem; }
.footer-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
footer a:hover { color: var(--green); }

@media (max-width: 600px) { .logo img { height: 24px; } .legal { padding-top: 48px; } }
@media (max-width: 480px) { .hide-xs { display: none; } .btn { padding: 9px 16px; font-size: .9rem; } }
