:root {
    --legal-ink: #17362f;
    --legal-muted: #557268;
    --legal-paper: #fffef9;
    --legal-cream: #f7f6ee;
    --legal-sage: #dceee7;
    --legal-green: #25745b;
    --legal-deep: #123c34;
    --legal-yellow: #f4cd67;
    --legal-line: #c7ddd2;
    --legal-shadow: 0 24px 64px rgba(23, 54, 47, .12);
}

* { box-sizing: border-box; }
html { min-height: 100%; background: var(--legal-cream); }
body.legal-body { min-width: 0; margin: 0; color: var(--legal-ink); background: linear-gradient(135deg, var(--legal-cream), var(--legal-sage)); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.7; }
.legal-body a { color: var(--legal-green); font-weight: 750; text-underline-offset: 3px; }
.legal-shell { width: min(calc(100% - 40px), 1120px); margin-inline: auto; padding: 1.5rem 0 3rem; }
.legal-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .8rem 1rem; border: 1px solid rgba(199, 221, 210, .9); border-radius: 999px; background: rgba(255, 254, 249, .82); box-shadow: 0 10px 28px rgba(23, 54, 47, .06); }
.legal-brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--legal-ink) !important; text-decoration: none; }
.legal-brand__mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: var(--legal-yellow); background: var(--legal-deep); font-size: 1.1rem; }
.fruit-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 2px solid rgba(255, 254, 249, .76); border-radius: 13px 13px 13px 5px; color: #fff4d2; background: linear-gradient(145deg, #bd491f, #e8893e); box-shadow: 0 7px 16px rgba(189, 73, 31, .22); font-size: 1.1rem; line-height: 1; transform: rotate(-5deg); }
.legal-brand__copy { display: grid; line-height: 1.05; }
.legal-brand__copy strong { font-size: 1rem; }
.legal-brand__copy small { margin-top: .22rem; color: var(--legal-muted); font-size: .62rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.legal-header__back { font-size: .82rem; }
.legal-layout { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 2rem; align-items: start; margin-top: 2.5rem; }
.legal-sidebar { position: sticky; top: 1.5rem; display: grid; gap: .3rem; padding: 1rem; border: 1px solid rgba(199, 221, 210, .9); border-radius: 18px; background: rgba(255, 254, 249, .54); }
.legal-sidebar__label { margin-bottom: .45rem; color: var(--legal-green); font-size: .68rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.legal-sidebar a { padding: .55rem .65rem; border-radius: 10px; color: var(--legal-muted); font-size: .84rem; text-decoration: none; }
.legal-sidebar a:hover, .legal-sidebar a:focus-visible { color: var(--legal-ink); background: var(--legal-sage); }
.legal-content { min-width: 0; padding: clamp(1.5rem, 4vw, 3.6rem); border: 1px solid var(--legal-line); border-radius: 28px; background: var(--legal-paper); box-shadow: var(--legal-shadow); }
.legal-content h1, .legal-content h2 { margin: 0; color: var(--legal-ink); font-family: Georgia, "Times New Roman", serif; letter-spacing: -.045em; line-height: 1.08; }
.legal-content h1 { max-width: 820px; font-size: clamp(2.6rem, 6vw, 5rem); }
.legal-content h2 { margin-top: 2.5rem; font-size: clamp(1.65rem, 3vw, 2.3rem); }
.legal-content > p, .legal-content article { max-width: 760px; margin-top: 1.1rem; color: var(--legal-muted); }
.legal-content > p:first-of-type { margin-top: 1.6rem; font-size: 1.06rem; }
.legal-content code { padding: .12rem .35rem; border: 1px solid var(--legal-line); border-radius: 5px; color: var(--legal-deep); background: #f0f7f2; font-size: .86em; overflow-wrap: anywhere; }
.legal-content .muted { margin-top: .65rem; color: var(--legal-muted); font-size: .86rem; }
.legal-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 0 1rem; color: var(--legal-muted); font-size: .8rem; }
.legal-footer p { margin: 0; }
.stack { display: grid; gap: 1rem; max-width: 560px; margin-top: 1.8rem; }
.field { display: grid; gap: .35rem; }
.field label { color: var(--legal-ink); font-size: .86rem; font-weight: 800; }
.field input { min-height: 48px; padding: .7rem .8rem; border: 1px solid var(--legal-line); border-radius: 10px; color: var(--legal-ink); background: #fff; font: inherit; }
.field input:focus { outline: none; border-color: var(--legal-green); box-shadow: 0 0 0 4px rgba(37, 116, 91, .2); }
.btn { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; width: fit-content; padding: .7rem 1rem; border: 1px solid transparent; border-radius: 999px; color: #fff; background: var(--legal-green); font: inherit; font-weight: 800; cursor: pointer; }
.btn:hover { background: var(--legal-deep); }
@media (max-width: 760px) {
    .legal-layout { grid-template-columns: 1fr; gap: 1rem; margin-top: 1.5rem; }
    .legal-sidebar { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .legal-sidebar__label { grid-column: 1 / -1; }
}
@media (max-width: 480px) {
    .legal-shell { width: min(calc(100% - 24px), 1120px); padding-top: .75rem; }
    .legal-header { align-items: flex-start; flex-direction: column; border-radius: 18px; }
    .legal-header__back { align-self: flex-end; }
    .legal-sidebar { grid-template-columns: 1fr; }
    .legal-sidebar__label { grid-column: auto; }
    .legal-content { padding: 1.25rem; border-radius: 20px; }
    .legal-footer { align-items: flex-start; flex-direction: column; padding-inline: .2rem; }
}
