:root { --ink:#173b4b; --deep:#0d2b38; --paper:#f6f1e7; --surface:#fffdf8; --signal:#e75b3a; --moon:#f4b860; --muted:#5f7077; --line:rgba(23,59,75,.19); --display:"Trebuchet MS","Avenir Next",sans-serif; --body:"Segoe UI",Arial,sans-serif; }
* { box-sizing: border-box; }
body { margin: 0; background: var(--surface); color: var(--ink); font-family: var(--body); font-size: 17px; line-height: 1.67; }
a { color: inherit; text-underline-offset: 4px; }
:focus-visible { outline: 3px solid var(--moon); outline-offset: 4px; }
.container { width: min(calc(100% - 36px), 860px); margin-inline: auto; }
header { border-bottom: 1px solid var(--line); background: var(--paper); }
.header-inner { display: flex; min-height: 78px; align-items: center; justify-content: space-between; gap: 20px; }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: var(--display); font-size: 1.25rem; font-weight: 900; text-decoration: none; }
.brand img { width: 54px; height: 38px; object-fit: contain; }
main { padding: 58px 0 100px; }
.kicker { margin: 0 0 10px; color: var(--signal); font-size: .78rem; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
h1, h2 { font-family: var(--display); line-height: 1.14; letter-spacing: -.025em; text-wrap: balance; }
h1 { margin: 0; font-size: clamp(2.35rem, 7vw, 4.4rem); }
h2 { margin: 46px 0 14px; padding-top: 18px; border-top: 1px solid var(--line); font-size: 1.55rem; }
.meta { color: var(--muted); }
.legal-alert { margin: 32px 0; padding: 20px 22px; border: 2px solid var(--signal); background: #fff5ef; }
.placeholder { color: #a73520; background: #fff0e8; padding: 2px 5px; }
.consent-box { margin: 28px 0; padding: clamp(24px, 5vw, 42px); background: #fff; border: 1px solid var(--line); box-shadow: 0 20px 60px rgba(13,43,56,.09); }
li + li { margin-top: 8px; }
footer { padding: 28px 0; background: var(--deep); color: rgba(255,255,255,.78); }
footer a { color: #fff; }
@media (max-width: 650px) { body { font-size: 16px; } .header-inner { align-items:flex-start; flex-direction:column; padding:14px 0; } }
@media print { header, footer, .legal-alert { display:none; } body { background:#fff; color:#000; font-size:12pt; } main { padding:0; } }
