
/*** T3SB identifier: t3sbs_footerSticky */

html {
	position:relative;
	min-height:100%
}
#page-footer {
	position:absolute;
	bottom:0;
	width:100%
}



/*** T3SB identifier: t3sbsCSSassets_64 */

/* t3sbs_assets_64 */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

    :root {
      --bg:         #0A0B10;
      --surface:    #111420;
      --surface2:   #171B28;
      --border:     #1E2638;
      --border-s:   #252F42;
      --orange:     #FF8700;
      --orange-dim: rgba(255,135,0,.10);
      --orange-ring:rgba(255,135,0,.22);
      --green:      #4ECBA3;
      --green-dim:  rgba(29,158,117,.10);
      --green-ring: rgba(29,158,117,.22);
      --text:       #DCE4EE;
      --muted:      #6A7A8E;
      --muted2:     #4E5D6E;
      --white:      #FFFFFF;
      --fd:         'Raleway', sans-serif;
      --fb:         'DM Sans', sans-serif;
      --fm:         'JetBrains Mono', monospace;
      --r:          10px;
      --rs:         6px;
    }

    html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }

    body {
      background: var(--bg);
      color: var(--text);
      font-family: var(--fb);
      font-size: 15px;
      line-height: 1.65;
      min-height: 100vh;
      display: flex;
      flex-direction: column;
    }

    /* ── Header ── */
    header {
      border-bottom: 1px solid var(--border);
      padding: 1.1rem 2rem;
      display: flex;
      justify-content: space-between;
      align-items: center;
      position: sticky;
      top: 0;
      background: rgba(10,11,16,.92);
      backdrop-filter: blur(10px);
      -webkit-backdrop-filter: blur(10px);
      z-index: 10;
    }
    .logo { display:flex; align-items:center; gap:.7rem; text-decoration:none; }
    .logo-mark { font-family:var(--fd); font-weight:800; font-size:1.15rem; color:var(--orange); letter-spacing:-.03em; line-height:1; }
    .logo-mark sup { font-size:.6em; vertical-align:super; font-weight:700; }
    .logo-sep { width:1px; height:18px; background:var(--border-s); }
    .logo-name { font-family:var(--fd); font-weight:400; font-size:1rem; color:var(--text); letter-spacing:-.01em; line-height:1; }
    .logo-name strong { color:var(--orange); font-weight:700; }
    .back-link { font-family:var(--fm); font-size:.76rem; color:var(--muted); text-decoration:none; transition:color .18s; }
    .back-link:hover { color:var(--orange); }

    /* ── Main ── */
    main { max-width:780px; margin:0 auto; padding:3.5rem 2rem 5rem; width:100%; flex:1; }

    .eyebrow { font-family:var(--fm); font-size:.7rem; color:var(--orange); text-transform:uppercase; letter-spacing:.18em; margin-bottom:.5rem; }
    .page-title { font-family:var(--fd); font-size:clamp(1.8rem,4vw,2.4rem); font-weight:800; letter-spacing:-.03em; color:var(--white); margin-bottom:2.5rem; line-height:1.05; }

    /* ── Contact card (Verantwortlicher) ── */
    .verant-card {
      background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
      padding:1.6rem; margin-bottom:2rem;
    }
    .v-identity { display:flex; align-items:center; gap:1rem; margin-bottom:1.4rem; }
    .avatar {
      width:52px; height:52px; border-radius:50%;
      background:var(--orange-dim); border:1.5px solid var(--orange-ring);
      display:flex; align-items:center; justify-content:center;
      font-family:var(--fd); font-weight:700; font-size:1rem; color:var(--orange); flex-shrink:0;
    }
    .v-name { font-family:var(--fd); font-weight:700; font-size:1.05rem; color:var(--white); margin-bottom:.2rem; letter-spacing:-.01em; }
    .v-role { font-size:.8rem; color:var(--muted); font-family:var(--fm); }
    .card-div { height:1px; background:var(--border); margin-bottom:1.3rem; }
    .tmg-label { font-family:var(--fm); font-size:.68rem; color:var(--muted2); text-transform:uppercase; letter-spacing:.14em; margin-bottom:1rem; }
    .c-rows { display:grid; grid-template-columns:max-content 1fr; gap:.55rem 2rem; align-items:baseline; }
    .c-key { font-size:.76rem; color:var(--muted); white-space:nowrap; }
    .c-val { font-family:var(--fm); font-size:.82rem; color:var(--text); }
    .c-val a { color:var(--orange); text-decoration:none; }
    .c-val a:hover { text-decoration:underline; }

    /* ── TOC ── */
    .toc-card {
      background:var(--surface); border:1px solid var(--border); border-radius:var(--r);
      padding:1.3rem 1.5rem; margin-bottom:3rem;
    }
    .toc-head { font-family:var(--fm); font-size:.68rem; color:var(--muted2); text-transform:uppercase; letter-spacing:.14em; margin-bottom:.9rem; }
    .toc-list { list-style:none; columns:2; column-gap:1.5rem; }
    .toc-list li { break-inside:avoid; padding:.2rem 0; }
    .toc-list a {
      font-size:.8rem; color:var(--muted); text-decoration:none;
      display:flex; align-items:baseline; gap:.5rem; transition:color .15s;
    }
    .toc-list a:hover { color:var(--orange); }
    .toc-n { font-family:var(--fm); font-size:.66rem; color:var(--muted2); flex-shrink:0; min-width:1.4rem; }

    /* ── Sections ── */
    .sec { padding:1.75rem 0; border-top:1px solid var(--border); }
    .sec:last-child { border-bottom:1px solid var(--border); }
    .sec-head { display:flex; align-items:center; gap:.75rem; margin-bottom:.9rem; }
    .sec-bar { width:3px; height:20px; background:var(--orange); border-radius:2px; flex-shrink:0; }
    .sec-title { font-family:var(--fd); font-weight:700; font-size:.98rem; color:var(--white); letter-spacing:-.01em; }
    .sec-body { font-size:.875rem; color:var(--muted); line-height:1.75; padding-left:1.5rem; }
    .sec-body p + p { margin-top:.7rem; }
    .sec-body a { color:var(--orange); text-decoration:none; border-bottom:1px solid var(--orange-ring); }
    .sec-body a:hover { border-color:var(--orange); }
    .sec-body ul, .sec-body ol { padding-left:1.2rem; margin:.4rem 0; }
    .sec-body li { margin-bottom:.25rem; }

    /* Infobox */
    .info-box {
      background:var(--surface2); border-left:2px solid var(--border-s);
      border-radius:0 var(--rs) var(--rs) 0;
      padding:.85rem 1rem; margin:.75rem 0;
      font-size:.82rem; color:var(--muted); line-height:1.7;
    }

    /* Data list */
    .data-list { list-style:none; padding:0; margin:.75rem 0; }
    .data-list li {
      display:flex; align-items:center; gap:.6rem;
      font-family:var(--fm); font-size:.78rem; color:var(--text);
      padding:.35rem 0; border-bottom:1px solid var(--border);
    }
    .data-list li:last-child { border-bottom:none; }
    .data-list li::before { content:'—'; color:var(--orange); flex-shrink:0; }

    /* Cookie highlight */
    .no-cookies {
      display:inline-flex; align-items:center; gap:.6rem;
      background:var(--green-dim); border:1px solid var(--green-ring);
      border-radius:var(--rs); padding:.7rem 1.1rem;
      font-family:var(--fm); font-size:.82rem; color:var(--green);
    }
    .no-cookies::before { content:'✓'; font-size:.9rem; }

    /* ── Begriffsbestimmungen ── */
    .terms-wrap { padding-left:1.5rem; margin-top:.5rem; }
    details.term { border-bottom:1px solid var(--border); }
    details.term:first-child { border-top:1px solid var(--border); }
    details.term summary {
      display:flex; align-items:center; gap:.75rem;
      padding:.85rem 0; cursor:pointer; list-style:none;
      font-size:.875rem; color:var(--text); font-weight:500;
      user-select:none;
    }
    details.term summary::-webkit-details-marker { display:none; }
    .term-toggle {
      font-family:var(--fm); font-size:.85rem; color:var(--orange);
      width:16px; text-align:center; flex-shrink:0; transition:transform .2s;
    }
    details.term[open] .term-toggle { transform:rotate(45deg); }
    .term-num { font-family:var(--fm); font-size:.66rem; color:var(--muted2); }
    .term-body {
      font-size:.84rem; color:var(--muted); line-height:1.75;
      padding:.1rem 0 1rem 2.5rem;
    }

    /* ── Rechte ── */
    .rights-wrap { padding-left:1.5rem; margin-top:.5rem; }
    details.right { border-bottom:1px solid var(--border); }
    details.right:first-child { border-top:1px solid var(--border); }
    details.right summary {
      display:flex; align-items:center; gap:.75rem;
      padding:.9rem 0; cursor:pointer; list-style:none;
      user-select:none;
    }
    details.right summary::-webkit-details-marker { display:none; }
    .right-toggle {
      font-family:var(--fm); font-size:.85rem; color:var(--orange);
      width:16px; text-align:center; flex-shrink:0; transition:transform .2s;
    }
    details.right[open] .right-toggle { transform:rotate(45deg); }
    .right-badge {
      font-family:var(--fm); font-size:.68rem; color:var(--orange);
      background:var(--orange-dim); border:1px solid var(--orange-ring);
      border-radius:4px; padding:.15rem .45rem; flex-shrink:0; white-space:nowrap;
    }
    .right-title { font-family:var(--fd); font-weight:700; font-size:.92rem; color:var(--white); letter-spacing:-.01em; }
    .right-body {
      font-size:.84rem; color:var(--muted); line-height:1.75;
      padding:.1rem 0 1rem 2.5rem;
    }
    .right-body p + p { margin-top:.6rem; }
    .right-body ul, .right-body ol { padding-left:1.2rem; margin:.4rem 0; }
    .right-body li { margin-bottom:.3rem; }



    /* ── Reveal ── */
    @media (prefers-reduced-motion: no-preference) {
      .verant-card { opacity:0; transform:translateY(20px); animation:up .55s cubic-bezier(.22,1,.36,1) .1s forwards; }
      .toc-card    { opacity:0; transform:translateY(16px); animation:up .5s  cubic-bezier(.22,1,.36,1) .18s forwards; }
      .sec { opacity:0; transform:translateY(14px); animation:up .5s cubic-bezier(.22,1,.36,1) forwards; }
      .sec:nth-child(1){animation-delay:.22s}.sec:nth-child(2){animation-delay:.28s}
      .sec:nth-child(3){animation-delay:.34s}.sec:nth-child(4){animation-delay:.4s}
      .sec:nth-child(5){animation-delay:.44s}.sec:nth-child(6){animation-delay:.48s}
      .sec:nth-child(7){animation-delay:.52s}.sec:nth-child(8){animation-delay:.56s}
      .sec:nth-child(9){animation-delay:.6s}
      @keyframes up { to { opacity:1; transform:translateY(0); } }
    }

    /* ── Responsive ── */
    @media (max-width:620px) {
      header { padding:1rem; }
      main { padding:2.5rem 1.25rem 4rem; }
      .toc-list { columns:1; }
      .c-rows { grid-template-columns:1fr; gap:.2rem; }
      .c-key { font-size:.7rem; color:var(--muted2); margin-top:.4rem; }
      footer { flex-direction:column; text-align:center; }
      .footer-links { justify-content:center; }
    }
	

