:root {
    --privacy-paper: #f4f7f1;
    --privacy-surface: #fff;
    --privacy-ink: #18221b;
    --privacy-muted: #4c5a4e;
    --privacy-green: #c8f45b;
    --privacy-line: #263328;
}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    min-height: 100vh;
    margin: 0;
    color: var(--privacy-ink);
    background: var(--privacy-paper);
    font-family: "Segoe UI", Arial, sans-serif;
}

.privacy-page {
    min-height: 100vh;
    padding: clamp(14px, 3vw, 42px);
}

.privacy-document {
    width: min(1240px, 100%);
    margin: 0 auto;
    padding: clamp(20px, 4vw, 56px);
    border: 2px solid var(--privacy-line);
    background: var(--privacy-surface);
    box-shadow: 10px 10px 0 var(--privacy-green);
}

.privacy-header {
    position: relative;
    padding: clamp(22px, 4vw, 48px);
    border: 2px solid var(--privacy-line);
    background: var(--privacy-green);
}

.privacy-back {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 42px;
    padding: 0 13px;
    border: 2px solid var(--privacy-line);
    background: var(--privacy-surface);
    color: var(--privacy-ink);
    text-decoration: none;
    font-size: .9rem;
    font-weight: 800;
    box-shadow: 3px 3px 0 var(--privacy-line);
}

.privacy-back:hover { color: var(--privacy-ink); transform: translate(-1px, -1px); box-shadow: 4px 4px 0 var(--privacy-line); }
.privacy-back:focus-visible, .privacy-index a:focus-visible, .privacy-footer a:focus-visible { outline: 3px solid #315d19; outline-offset: 3px; }

.privacy-eyebrow {
    margin: 34px 0 10px;
    color: var(--privacy-ink);
    font-family: Consolas, "Courier New", monospace;
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.privacy-header h1 {
    max-width: 760px;
    margin: 0;
    font-size: clamp(2.4rem, 7vw, 5.4rem);
    font-weight: 950;
    letter-spacing: -.065em;
    line-height: .96;
    text-transform: uppercase;
}

.privacy-lead {
    max-width: 700px;
    margin: 22px 0 12px;
    color: #28332a;
    font-size: clamp(1rem, 1.8vw, 1.16rem);
    font-weight: 550;
    line-height: 1.65;
}

.privacy-updated {
    display: inline-block;
    margin: 4px 0 0;
    padding: 7px 10px;
    border: 1px solid var(--privacy-line);
    background: rgba(255, 255, 255, .58);
    font-family: Consolas, "Courier New", monospace;
    font-size: .8rem;
    font-weight: 750;
}

.privacy-draft-notice {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 28px 0 34px;
    padding: 17px 19px;
    border: 2px solid var(--privacy-line);
    background: #f1f3ed;
    box-shadow: 5px 5px 0 var(--privacy-line);
    color: var(--privacy-ink);
    line-height: 1.55;
}

.privacy-draft-notice i { padding-top: 3px; font-size: 1.2rem; }
.privacy-draft-notice strong { font-weight: 900; }

.privacy-layout {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
    gap: clamp(28px, 5vw, 68px);
}

.privacy-index {
    position: sticky;
    top: 20px;
    display: grid;
    border: 2px solid var(--privacy-line);
    background: var(--privacy-paper);
    box-shadow: 5px 5px 0 var(--privacy-green);
}

.privacy-index strong {
    padding: 13px 14px;
    border-bottom: 2px solid var(--privacy-line);
    background: var(--privacy-green);
    font-family: Consolas, "Courier New", monospace;
    font-size: .83rem;
    font-weight: 900;
    text-transform: uppercase;
}

.privacy-index a {
    padding: 11px 14px;
    border-bottom: 1px solid #cbd3c9;
    color: var(--privacy-ink);
    font-size: .9rem;
    font-weight: 700;
    text-decoration: none;
}

.privacy-index a:last-child { border-bottom: 0; }
.privacy-index a:hover { background: var(--privacy-green); }
.privacy-content { min-width: 0; }

.privacy-section {
    padding: 0 0 25px;
    margin: 0 0 25px;
    border-bottom: 2px solid var(--privacy-line);
    scroll-margin-top: 24px;
}

.privacy-section h2 {
    display: table;
    max-width: 100%;
    margin: 0 0 15px;
    padding: 9px 12px;
    border: 2px solid var(--privacy-line);
    background: var(--privacy-green);
    box-shadow: 3px 3px 0 var(--privacy-line);
    font-size: clamp(1.1rem, 2.4vw, 1.38rem);
    font-weight: 900;
    line-height: 1.2;
}

.privacy-section p, .privacy-section li {
    max-width: 75ch;
    color: #38443a;
    font-size: 1rem;
    line-height: 1.78;
}

.privacy-section p { margin: 10px 0; }
.privacy-section strong { color: var(--privacy-ink); font-weight: 850; }
.privacy-section ul { display: grid; gap: 8px; padding-left: 22px; }
.privacy-section li::marker { color: #4f8426; }
.privacy-section a { color: #315f20; font-weight: 800; overflow-wrap: anywhere; }

.privacy-footer { padding-top: 2px; }

.privacy-footer a {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    padding: 0 16px;
    border: 2px solid var(--privacy-line);
    background: var(--privacy-green);
    box-shadow: 4px 4px 0 var(--privacy-line);
    color: var(--privacy-ink);
    font-weight: 900;
    text-decoration: none;
}

.privacy-footer a:hover { transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--privacy-line); }

@media (max-width: 800px) {
    .privacy-layout { grid-template-columns: 1fr; gap: 27px; }
    .privacy-index { position: static; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .privacy-index strong { grid-column: 1 / -1; }
    .privacy-index a:nth-of-type(odd) { border-right: 1px solid #cbd3c9; }
}

@media (max-width: 520px) {
    .privacy-page { padding: 0; }
    .privacy-document { min-height: 100vh; padding: 12px; border-width: 0; box-shadow: none; }
    .privacy-header { padding: 20px 17px; }
    .privacy-eyebrow { margin-top: 29px; font-size: .69rem; }
    .privacy-header h1 { font-size: clamp(2.15rem, 13vw, 3.4rem); }
    .privacy-lead { font-size: .98rem; line-height: 1.62; }
    .privacy-draft-notice { margin: 22px 0 28px; padding: 14px; }
    .privacy-index { grid-template-columns: 1fr; }
    .privacy-index strong { grid-column: auto; }
    .privacy-index a { border-right: 0 !important; }
    .privacy-section { padding-bottom: 20px; margin-bottom: 20px; }
    .privacy-section p, .privacy-section li { font-size: .96rem; line-height: 1.7; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { transition-duration: .01ms !important; }
}
