.legal-footer { position: relative; border-top: 1px solid var(--line, #d5d9e0); padding-top: 24px; padding-bottom: 32px; display: flex; justify-content: space-between; align-items: start; gap: 22px; font-size: .8rem; }
.legal-footer > div { display: grid; gap: 6px; }
.legal-footer nav { display: flex; flex-wrap: wrap; gap: 14px 24px; }
.legal-footer a, .legal-sidebar a { color: inherit; text-underline-offset: 5px; }
.legal-meta { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; margin-top: 24px; font-size: .8rem; }
.legal-meta button { font: inherit; color: inherit; border: 0; background: none; cursor: pointer; }
.legal-grid { display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: clamp(28px, 6vw, 100px); padding-bottom: 80px; }
.legal-sidebar { align-self: start; position: sticky; top: 110px; font-size: .85rem; }
.legal-sidebar nav { display: grid; gap: 18px; margin-bottom: 32px; }
.legal-sidebar [aria-current] { font-weight: 750; text-decoration-thickness: 2px; }
.legal-document { min-width: 0; max-width: 850px; font-size: .98rem; line-height: 1.8; overflow-wrap: anywhere; }
.legal-document section { padding: 0 0 32px; margin: 0 0 32px; border-bottom: 1px solid var(--line, #d5d9e0); }
.legal-document h2 { font-size: clamp(1.2rem, 2vw, 1.7rem); letter-spacing: -.025em; line-height: 1.3; margin: 0 0 24px; }
.legal-document p { margin: 16px 0; }
.legal-document a { color: inherit; text-decoration: underline; text-underline-offset: 4px; }
.legal-details { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1.4fr); gap: 14px 24px; }
.legal-details dt { font-size: .83rem; opacity: .8; }
.legal-details dd { margin: 0; }
.legal-draft { border-inline-start: 3px solid #d89016; padding: 16px 20px; margin-bottom: 32px; background: color-mix(in srgb, #f2b33d 12%, transparent); font-size: .9rem; }
.legal-draft p { margin-bottom: 0; }
.legal-table-scroll { overflow-x: auto; }
.legal-table { border-collapse: collapse; width: 100%; font-size: .82rem; line-height: 1.65; text-align: left; }
.legal-table th, .legal-table td { vertical-align: top; padding: 14px 12px; border-bottom: 1px solid var(--line, #d5d9e0); min-width: 130px; }
.legal-table td { min-width: 215px; }
.legal-table thead { background: color-mix(in srgb, currentColor 5%, transparent); }
.cookie-notice { position: fixed; inset: auto auto 22px 22px; z-index: 80; width: min(490px, calc(100vw - 44px)); max-height: 65dvh; overflow: auto; padding: 24px; border: 1px solid #c5cbd3; border-radius: 14px; background: #fff; color: #18232b; box-shadow: 0 12px 55px #09132724; font-size: .9rem; line-height: 1.6; }
[hidden] { display: none !important; }
.cookie-kicker { font-weight: 750; letter-spacing: -.02em; }
.cookie-notice p { margin: 9px 0 18px; }
.cookie-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 16px; }
.cookie-actions button, .privacy-dialog-actions button { font: inherit; cursor: pointer; border: 1px solid currentColor; border-radius: 6px; padding: 9px 16px; color: inherit; background: transparent; }
.cookie-actions button, .privacy-dialog-actions [data-privacy-done] { color: #fff; background: #173f3d; border-color: #173f3d; }
.cookie-actions a { color: inherit; font-size: .82rem; text-underline-offset: 4px; }
.privacy-dialog { width: min(650px, calc(100vw - 32px)); max-height: calc(100dvh - 40px); overflow-y: auto; box-sizing: border-box; padding: clamp(20px, 4vw, 38px); border: 1px solid #c5cbd3; border-radius: 16px; background: #fff; color: #18232b; }
.privacy-dialog::backdrop { background: #06141d99; backdrop-filter: blur(5px); }
.privacy-dialog-head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.privacy-dialog-head button { border: 0; background: transparent; color: inherit; font: inherit; font-size: 28px; width: 44px; height: 44px; cursor: pointer; }
.privacy-dialog h2 { font-size: clamp(1.7rem, 4vw, 2.3rem); letter-spacing: -.045em; margin: 8px 0 24px; line-height: 1.2; }
.privacy-category { display: flex; justify-content: space-between; align-items: start; gap: 16px; padding: 18px 0; border-top: 1px solid #c5cbd3; }
.privacy-category h3 { font-size: 1rem; margin: 0 0 7px; }
.privacy-category p { font-size: .85rem; line-height: 1.65; margin: 0; }
.privacy-category > span { flex-shrink: 0; font-size: .7rem; border: 1px solid #c5cbd3; padding: 4px 7px; border-radius: 5px; }
.privacy-dialog-links { display: flex; flex-wrap: wrap; gap: 16px; font-size: .85rem; }
.privacy-dialog-links a { color: inherit; }
.privacy-dialog-actions { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 26px; font-size: .82rem; }
.business-contact { border: 1px solid var(--line, #d5d9e0); border-radius: 16px; padding: clamp(24px, 4vw, 48px); margin-bottom: 50px; display: grid; gap: 14px; }
.business-contact a { color: inherit; overflow-wrap: anywhere; }
html[data-resolved-theme="dark"] .cookie-notice, html[data-resolved-theme="dark"] .privacy-dialog { background: #17242c; color: #f0f4f6; border-color: #4a5c65; }
html[data-resolved-theme="dark"] .cookie-actions button, html[data-resolved-theme="dark"] [data-privacy-done] { background: #a5e3d1; color: #132d2a; border-color: #a5e3d1; }
@media (prefers-color-scheme: dark) { html:not([data-resolved-theme]) .cookie-notice, html:not([data-resolved-theme]) .privacy-dialog { background: #17242c; color: #f0f4f6; } }
@media (max-width: 700px) { .legal-grid { grid-template-columns: 1fr; } .legal-sidebar { position: static; } .legal-sidebar nav { display: flex; flex-wrap: wrap; gap: 15px; margin-bottom: 15px; } .legal-footer { flex-direction: column; } .legal-details { grid-template-columns: 1fr; gap: 4px; } .legal-details dd { margin-bottom: 12px; } .cookie-notice { inset: auto 12px 72px 12px; width: auto; padding: 20px; } .privacy-category { flex-direction: column; gap: 10px; } .privacy-dialog-actions { flex-direction: column; align-items: stretch; } }
@media print { .site-header, .site-footer, .legal-footer, .legal-sidebar, .motion-toggle, .flow-field, .reading-progress, .skip-link, .cookie-notice, .privacy-dialog, [data-legal-print] { display: none !important; } html, body, .legal-document { color: #000 !important; background: #fff !important; } .wrap { width: 100%; max-width: none; margin: 0; padding: 0; } .legal-intro { padding: 0 0 20px !important; } .legal-intro h1 { font-size: 30pt; } .legal-grid { display: block; padding: 0; } .legal-document { max-width: none; font-size: 10pt; } .legal-table-scroll { overflow: visible; } .legal-table { font-size: 8pt; } .legal-table td, .legal-table th { min-width: 0; } h2 { break-after: avoid; } a { color: inherit !important; } }
