html.funnel-legal-open { overflow: hidden; }
#funnel-legal { width: min(780px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 40px); padding: 0; margin: auto; border: 1px solid #111; background: #fff; color: #111; box-shadow: 0 24px 80px #0003; font: 15px/1.8 var(--le-font-interface, sans-serif); }
#funnel-legal::backdrop { background: #0009; }
#funnel-legal[open] { display: flex; flex-direction: column; }
.funnel-legal-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 24px; border-bottom: 1px solid #ddd; flex: 0 0 auto; }
#funnel-legal-title { margin: 0; font: 600 18px/1.4 var(--le-font-interface, sans-serif); }
.funnel-legal-header button { min-height: 44px; padding: 8px 16px; border: 1px solid #111; background: #111; color: #fff; cursor: pointer; font: inherit; white-space: nowrap; }
.funnel-legal-header button:hover { background: #fff; color: #111; }
#funnel-legal :focus-visible { outline: 2px solid #111; outline-offset: 4px; }
.funnel-legal-scroll { overflow: auto; overscroll-behavior: contain; padding: 24px 32px 32px; }
.funnel-legal-document[hidden] { display: none; }
.funnel-legal-document h1 { font: 600 24px/1.4 var(--le-font-interface, sans-serif); margin: 0 0 16px; }
.funnel-legal-document h2, .funnel-legal-document h3 { font: 600 17px/1.5 var(--le-font-interface, sans-serif); margin: 28px 0 12px; }
.funnel-legal-document p { margin: 12px 0; }
.funnel-legal-document a { text-decoration: underline; text-underline-offset: 3px; }
.funnel-legal-document .legal-updated { color: #555; font-size: 13px; }
@media(max-width:600px) { .funnel-legal-header { padding: 12px 16px; } .funnel-legal-scroll { padding: 20px; } #funnel-legal-title { font-size: 16px; } }
