/* Legal reading pages share the Communex shell, typography and blue palette. */
html:is([data-site-page="imprint"],[data-site-page="privacy"]) [data-site-view="home"],
html:not([data-site-page="imprint"]) [data-site-view="imprint"],
html:not([data-site-page="privacy"]) [data-site-view="privacy"] { display: none !important; }
.cx-legal { --legal-accent: #8ce8cf; --legal-line: #b0d5e633; color: #edf6fa; background: linear-gradient(180deg,#005c91,#004b77 650px,#003d63); padding-top: calc(var(--nav-bar-height,88px) + 64px); padding-bottom: clamp(64px,8vw,120px); }
.cx-legal :is(h1,h2,h3,h4,p,ul,ol) { margin: 0; }
.cx-legal :is(h1,section[id],h3[id]) { scroll-margin-top: calc(var(--nav-bar-height,88px) + 32px); }
.cx-legal :is(a,h1):focus-visible { outline: 2px solid var(--legal-accent); outline-offset: 5px; border-radius: 3px; }
.cx-legal-eyebrow { color: var(--legal-accent); font-family: "JetBrains Mono",monospace; font-size: 12px; line-height: 1.6; letter-spacing: .09em; text-transform: uppercase; }
.cx-legal h1 { margin-top: 20px; font-size: clamp(32px,4.5vw,60px); line-height: 1.12; font-weight: 500; letter-spacing: -.035em; overflow-wrap: anywhere; }
.cx-legal-lead { margin-top: 22px !important; max-width: 58ch; font-size: clamp(16px,1.4vw,20px); line-height: 1.65; color: #c7dce6; }
.cx-legal-nav { display: flex; flex-wrap: wrap; gap: 8px 32px; margin-top: 36px; padding-block: 16px; border-block: 1px solid var(--legal-line); }
.cx-legal-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #c7dce6; font-size: 15px; text-decoration: none; }
.cx-legal-nav a[aria-current],.cx-legal-nav a:hover { color: var(--legal-accent); }
.cx-legal-layout { display: grid; grid-template-columns: minmax(180px,.7fr) minmax(0,2fr); gap: clamp(36px,6vw,96px); align-items: start; padding-top: 48px; }
.cx-legal-index { position: sticky; top: calc(var(--nav-bar-height,88px) + 32px); }
.cx-legal-index p { color: #a9c8d9; font-family: "JetBrains Mono",monospace; font-size: 11px; text-transform: uppercase; letter-spacing: .08em; margin-bottom: 14px; }
.cx-legal-index ol { display: grid; gap: 6px; padding: 0; list-style: none; }
.cx-legal-index a { display: block; padding-block: 8px; color: #c7dce6; font-size: 14px; line-height: 1.6; text-decoration: none; }
.cx-legal-index a:hover { color: var(--legal-accent); }
.cx-legal-article { min-width: 0; max-width: 76ch; font-size: 17px; line-height: 1.8; overflow-wrap: anywhere; }
.cx-legal-article section + section { margin-top: 44px; padding-top: 36px; border-top: 1px solid var(--legal-line); }
.cx-legal-article h2 { font-size: clamp(23px,2.3vw,30px); line-height: 1.35; font-weight: 500; letter-spacing: -.02em; margin-bottom: 24px; }
.cx-legal-article h3 { font-size: 20px; line-height: 1.5; font-weight: 500; margin-top: 32px; margin-bottom: 16px; }
.cx-legal-article h4 { font-size: 17px; line-height: 1.6; font-weight: 600; margin-top: 24px; margin-bottom: 12px; }
.cx-legal-article p + p { margin-top: 16px; }
.cx-legal-article :is(ul,ol) { margin-block: 16px; padding-left: 24px; }
.cx-legal-article li + li { margin-top: 10px; }
.cx-legal-article strong { font-weight: 600; }
.cx-legal-article a { color: var(--legal-accent); text-decoration: underline; text-underline-offset: .22em; }
.cx-legal-article a:hover { color: #fff; }
.cx-legal-end { margin-top: 56px; padding-top: 24px; border-top: 1px solid var(--legal-line); }
.cx-legal-end a { display: inline-block; min-height: 44px; font-size: 15px; }
@media (max-width: 767px) {
  .cx-legal { padding-top: calc(var(--nav-bar-height,88px) + 36px); }
  .cx-legal-layout { grid-template-columns: minmax(0,1fr); gap: 32px; padding-top: 28px; }
  .cx-legal-index { position: static; padding-bottom: 24px; border-bottom: 1px solid var(--legal-line); }
  .cx-legal-index ol { gap: 0; }
  .cx-legal-index a { min-height: 44px; }
  .cx-legal-article { font-size: 16px; line-height: 1.75; }
  .cx-legal-nav { margin-top: 28px; gap: 4px 24px; }
}
