:root {
    --forest: #17231f;
    --ink: #16201d;
    --muted: #66736e;
    --canvas: #f4f3ed;
    --surface: #ffffff;
    --line: #e4e5df;
    --terracotta: #c8653b;
    --amber: #e8a94f;
    --sage: #4e7868;
}

* { box-sizing: border-box; }
body { margin: 0; color: var(--ink); background: radial-gradient(circle at 92% 0, rgba(232,169,79,.14), transparent 25rem), var(--canvas); font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; line-height: 1.65; }
a { color: #466e60; text-underline-offset: .16em; }
.skip-link { position: fixed; top: .75rem; left: .75rem; z-index: 10; padding: .6rem .9rem; color: white; background: var(--forest); border-radius: .6rem; transform: translateY(-160%); }
.skip-link:focus { transform: translateY(0); }
.public-header, .public-footer { display: flex; max-width: 1120px; margin: auto; padding: 1.25rem clamp(1rem,4vw,2rem); align-items: center; justify-content: space-between; gap: 1rem; }
.public-brand { display: flex; align-items: center; gap: .7rem; color: var(--ink); text-decoration: none; }
.public-brand strong, .public-brand small { display: block; }
.public-brand small { color: var(--muted); font-size: .64rem; letter-spacing: .06em; text-transform: uppercase; }
.public-mark { display: grid; width: 2.6rem; height: 2.6rem; place-items: center; color: var(--forest); background: linear-gradient(145deg,#f0bd6d,#d7794a); border-radius: .82rem; font-weight: 800; }
.public-header nav, .public-footer span:last-child { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.public-header nav a, .public-footer a { font-size: .82rem; font-weight: 650; text-decoration: none; }
.public-signin { padding: .5rem .85rem; color: white !important; background: var(--forest); border-radius: .65rem; }
.policy-shell { width: min(100% - 2rem, 900px); margin: 2rem auto 5rem; }
.review-banner { display: flex; gap: .6rem 1rem; margin-bottom: 1rem; padding: .8rem 1rem; color: #674815; background: #fbf2df; border: 1px solid #ebd7af; border-radius: .9rem; flex-wrap: wrap; font-size: .78rem; }
.policy-card { padding: clamp(1.4rem,5vw,4rem); background: rgba(255,255,255,.94); border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 50px rgba(31,39,35,.08); }
.policy-kicker { margin: 0; color: #a6712e; font-size: .72rem; font-weight: 750; letter-spacing: .13em; text-transform: uppercase; }
h1 { max-width: 760px; margin: .65rem 0 1rem; font-size: clamp(2.4rem,7vw,4.8rem); letter-spacing: -.06em; line-height: .98; }
h2 { margin: 2.2rem 0 .45rem; font-size: 1.05rem; }
.policy-lede { max-width: 720px; color: var(--muted); font-size: 1.05rem; }
.support-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.support-grid section { padding: 1rem; background: #f8f8f4; border: 1px solid var(--line); border-radius: .9rem; }
.support-grid h2 { margin-top: 0; }
.public-footer { color: var(--muted); border-top: 1px solid var(--line); font-size: .75rem; }
@media (max-width: 700px) { .public-header, .public-footer { align-items: flex-start; flex-direction: column; } .public-header nav { gap: .7rem; } .support-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { scroll-behavior: auto !important; transition: none !important; } }
