/* Cookie consent: a quiet card, never a wall. */
.consent{position:fixed;z-index:10001;left:max(16px,var(--gutter));bottom:16px;width:min(440px,calc(100vw - 32px));max-height:calc(100vh - 32px);overflow:auto;box-sizing:border-box;padding:26px 26px 22px;background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 60px rgba(36,38,32,.18);font:13px/1.55 'DM Sans',Arial,sans-serif;opacity:0;transform:translateY(16px);transition:opacity var(--normal) var(--ease),transform var(--normal) var(--ease)}
.consent.is-visible{opacity:1;transform:none}
.consent h2{margin:0 28px 10px 0;font:500 19px/1.2 Manrope,Arial,sans-serif;letter-spacing:-.01em}
.consent p{margin:0 0 18px;color:var(--muted)}
.consent-policy{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.consent-close{position:absolute;top:10px;right:12px;width:32px;height:32px;border:0;background:none;color:var(--ink);font-size:22px;line-height:1;cursor:pointer}
.consent-details{display:grid;gap:2px;margin:0 0 18px;border-top:1px solid var(--line)}
.consent-details[hidden]{display:none}
.consent-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--line);cursor:pointer}
.consent-row strong{display:block;font-weight:600}
.consent-row small{display:block;color:var(--muted);font-size:12px}
.consent-row em{font-style:normal;font-size:11px;color:var(--muted);white-space:nowrap}
.consent-row input{appearance:none;flex:none;width:38px;height:22px;margin:0;border-radius:22px;background:var(--line);position:relative;cursor:pointer;transition:background var(--fast)}
.consent-row input::after{content:'';position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--white);transition:transform var(--fast) var(--ease)}
.consent-row input:checked{background:var(--ink)}
.consent-row input:checked::after{transform:translateX(16px)}
.consent-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.consent-actions button{min-height:44px;padding:10px 14px;border:1px solid var(--ink);background:transparent;color:var(--ink);font:500 12px/1.2 'DM Sans',Arial,sans-serif;letter-spacing:.04em;cursor:pointer;transition:background var(--fast),color var(--fast)}
/* Accept and reject carry equal weight, as EU guidance requires. */
.consent-actions [data-choice="accept"],.consent-actions [data-choice="reject"]{background:var(--ink);color:var(--paper)}
.consent-actions [data-choice="custom"]{grid-column:1/-1}
.consent-actions [data-choice="accept"]:hover,.consent-actions [data-choice="reject"]:hover{background:transparent;color:var(--ink)}
.consent-actions button:hover{background:var(--ink);color:var(--paper)}
.consent :focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cookie-settings{border:0;background:none;padding:12px 0;color:inherit;font:inherit;font-size:10px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
@media (max-width:600px){.consent{left:16px;right:16px;width:auto;padding:22px 20px 18px}}
@media (prefers-reduced-motion:reduce){.consent{transition:none}}
html[data-motion="reduced"] .consent{transition:none}
