:root {
    --forest: #163323;
    --forest-dark: #0a1c12;
    --orange: #e65100;
    --paper: #fbf9f6;
    --ink: #2c2a26;
    --muted: #666258;
    --border: #e3d9c9;
}

* { box-sizing: border-box; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: 'Plus Jakarta Sans', system-ui, sans-serif; line-height: 1.8; }
a { color: var(--forest); text-underline-offset: 4px; }
a:hover { color: #a63b00; }
a:focus-visible { outline: 3px solid var(--orange); outline-offset: 5px; border-radius: 3px; }
.container { width: min(100% - 3rem, 1080px); margin-inline: auto; }
.skip-link { position: absolute; top: -100px; left: 1rem; padding: 0.7rem 1rem; background: white; z-index: 2; }
.skip-link:focus { top: 1rem; }
.legal-site-header { background: var(--forest-dark); color: white; padding: 1.5rem 0; }
.header-inner, .brand, .header-inner nav { display: flex; align-items: center; gap: 1.5rem; }
.header-inner { justify-content: space-between; flex-wrap: wrap; }
.brand { gap: 0.85rem; font: 700 1.5rem 'Space Grotesk', system-ui, sans-serif; text-decoration: none; }
.brand img { object-fit: contain; }
.brand-accent { color: #ff9800; }
.legal-site-header a, .legal-site-footer a { color: white; }
.legal-site-header a:hover, .legal-site-footer a:hover { color: #ffb16c; }
.header-inner nav a { font-weight: 600; }
main.container { padding-block: 2rem 4rem; }
.back-link { display: inline-block; margin-bottom: 1.5rem; font-weight: 600; }
.legal-shell { background: white; padding: clamp(1.25rem, 5vw, 4rem); border: 1px solid var(--border); border-radius: 24px; box-shadow: 0 12px 32px rgb(0 0 0 / 4%); overflow-wrap: anywhere; }
.legal-header { padding-bottom: 2rem; border-bottom: 1px solid var(--border); }
h1, h2 { font-family: 'Space Grotesk', system-ui, sans-serif; color: var(--forest); line-height: 1.2; }
h1 { font-size: clamp(2rem, 5vw, 3.3rem); letter-spacing: -1px; margin: 0 0 1rem; }
h2 { font-size: clamp(1.2rem, 3vw, 1.55rem); margin: 0 0 1rem; }
p { margin: 0 0 1rem; }
p:last-child { margin-bottom: 0; }
.legal-header p { color: var(--muted); }
.legal-section { padding-top: 2rem; }
.legal-section + .legal-section { margin-top: 2rem; border-top: 1px solid #f2ede4; }
ul { padding-left: 1.3rem; margin-block: 1rem; }
li + li { margin-top: 0.65rem; }
.legal-facts { list-style: none; padding: 1.25rem; background: var(--paper); border-left: 3px solid var(--orange); border-radius: 0 12px 12px 0; }
.legal-site-footer { padding: 2rem 0; background: var(--forest-dark); color: #d4ddd6; font-size: 0.9rem; }
.footer-inner { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 1rem 2rem; }
.footer-inner p { margin: 0; }
.footer-inner nav { display: flex; flex-wrap: wrap; gap: 0.75rem 1.5rem; }
.footer-inner [aria-current='page'] { color: #ffb16c; }
@media (max-width: 600px) {
    .container { width: calc(100% - 2rem); }
    .header-inner { gap: 1rem; }
    .brand { font-size: 1.25rem; }
    .header-inner nav { gap: 1.25rem; font-size: 0.9rem; }
    .legal-shell { border-radius: 16px; }
    .footer-inner { flex-direction: column; align-items: flex-start; }
}
@media print {
    body { background: white; font-family: sans-serif; }
    .legal-site-header, .legal-site-footer, .back-link, .skip-link { display: none; }
    .container { width: 100%; }
    .legal-shell { border: 0; box-shadow: none; padding: 0; }
    h2 { break-after: avoid; }
}

.site-credit { font-size: 0.8rem; }
