/* PSAIHOVEN | zentrales Stylesheet | /css/psaihoven.css | v1.1 | 24.10.2026 | Schritt 2b (Cassy)
   Scope: Tokens (:root) + @font-face global. Legal/404-Regeln nur fuer body.legal-page (per :where, Spezifitaet unveraendert).
   Hauptseite (Draft) = body.has-app: bekommt hier nur Tokens/Fonts (+ Abschnitt 14); ihre Komponenten-Styles bleiben inline.
   Outfit heisst hier 'Outfit Webfont', damit die Hauptseite (nutzt 'Outfit' ungeladen) optisch unveraendert bleibt. */
/* 1. Fonts */
@font-face { font-family: 'Montserrat'; src: url('/fonts/Montserrat-VariableFont_wght.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('/fonts/Nunito-VariableFont_wght.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }
@font-face { font-family: 'Nunito'; src: url('/fonts/Nunito-Italic-VariableFont_wght.ttf') format('truetype'); font-weight: 100 900; font-style: italic; font-display: swap; }
@font-face { font-family: 'Outfit Webfont'; src: url('/fonts/Outfit-VariableFont_wght.ttf') format('truetype'); font-weight: 100 900; font-style: normal; font-display: swap; }

/* 2. Variablen (1:1 Hauptseite) */
:root {
  --gold: #c9a84c;
  --gold-shimmer: linear-gradient(135deg, #bf953f 0%, #fcf6ba 25%, #b38728 50%, #fbf5b7 75%, #aa771c 100%);
  --gold-light: #ffd768;
  --gold-deep: #d4af37;
  --silver: #e4dfd7;
  --dark: #0b0017;
  --dark-deep: #0b0428;
  --dark-panel: #050110;
  --cyan-glow: #00d5ff;
  --cyan-soft: #1fa2c4;
  --red-glow: #ff0000;
  --text: #e8e0d0;
  --line-gold: linear-gradient(90deg, transparent, var(--gold), transparent);
  --font-sans: 'Montserrat', sans-serif;
  --font-serif: Georgia, 'Times New Roman', serif;
}

/* 3. Basis + Hintergrund (wie public/legal) */
html:where(:has(> body.legal-page)), *:where(.legal-page, .legal-page *), *:where(.legal-page, .legal-page *)::before, *:where(.legal-page, .legal-page *)::after { box-sizing: border-box; margin: 0; padding: 0; }
html:where(:has(> body.legal-page)) { color-scheme: dark; scrollbar-gutter: stable; scrollbar-width: thin; scrollbar-color: rgba(201, 168, 76, 0.45) rgba(11, 0, 23, 0.85); }
:where(.legal-page, .legal-page *)::-webkit-scrollbar, html:where(:has(> body.legal-page))::-webkit-scrollbar { width: 10px; background: var(--dark); }
:where(.legal-page, .legal-page *)::-webkit-scrollbar-thumb, html:where(:has(> body.legal-page))::-webkit-scrollbar-thumb { background: rgba(201, 168, 76, 0.45); border-radius: 8px; }
body:where(.legal-page, .legal-page *) { position: relative; min-height: 100vh; display: flex; flex-direction: column; align-items: center; padding: 0 1.5rem 2rem; background: #000; color: var(--silver); font-family: var(--font-sans); overflow-x: hidden; }
body:where(.legal-page, .legal-page *)::before { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background: radial-gradient(ellipse at 20% 40%, rgba(107, 33, 168, .10) 0%, transparent 55%),
    radial-gradient(ellipse at 80% 60%, rgba(6, 182, 212, .05) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 100%, rgba(107, 33, 168, .08) 0%, transparent 50%),
    linear-gradient(180deg, rgba(0, 0, 0, .72) 0%, rgba(0, 0, 0, .82) 100%),
    url('/img/PSAIHOVEN_BG_Image_1.webp') center / cover no-repeat, #000; }
body:where(.legal-page, .legal-page *)::after { content: ''; position: fixed; inset: 0; z-index: 0; pointer-events: none;
  background-image: radial-gradient(circle, rgba(168, 85, 247, .15) 1px, transparent 1px), radial-gradient(circle, rgba(255, 255, 255, .06) 1px, transparent 1px);
  background-size: 80px 80px, 40px 40px; background-position: 0 0, 20px 20px; }

/* 4. Top-Menue (1:1 #site-menu der Hauptseite, statisch sichtbar) */
.site-menu:where(.legal-page *) { position: fixed; top: 0; left: 0; right: 0; z-index: 100; display: flex; justify-content: center; pointer-events: none; }
.site-menu:where(.legal-page *) nav { pointer-events: auto; display: flex; align-items: stretch; width: max-content; max-width: 100vw; border: 1px solid rgba(201, 168, 76, 0.45); border-top: none; background: rgba(8, 8, 8, 0.85); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45); }
.site-menu:where(.legal-page *) .menu-btn, .site-menu:where(.legal-page *) .lang-btn { background: none; border: 0; border-right: 1px solid rgba(201, 168, 76, 0.45); cursor: pointer; font-family: var(--font-sans); font-size: 0.64rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); text-decoration: none; min-width: 5.5rem; height: 36px; padding: 0 0.75rem; display: inline-flex; align-items: center; justify-content: center; text-align: center; transition: border-color 0.3s, box-shadow 0.3s, background 0.3s, color 0.3s; }
.site-menu:where(.legal-page *) .menu-btn:hover, .site-menu:where(.legal-page *) .menu-btn.is-on { color: var(--gold-light); background: rgba(201, 168, 76, 0.08); box-shadow: 0 0 18px rgba(201, 168, 76, 0.16); }
.site-menu:where(.legal-page *) .menu-sub-wrap { position: relative; display: flex; align-items: stretch; }
.site-menu:where(.legal-page *) .menu-sub-wrap::after { content: ''; position: absolute; top: 100%; left: 0; right: 0; height: 6px; }
.site-menu:where(.legal-page *) .menu-sub-wrap > .menu-btn { min-width: 6.8rem; }
.site-menu:where(.legal-page *) .menu-sub { display: none; position: absolute; top: 100%; right: 0; min-width: 100%; width: max-content; flex-direction: column; background: rgba(12, 10, 20, 0.98); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border: 1px solid rgba(201, 168, 76, 0.55); border-top: none; box-shadow: 0 8px 28px rgba(0, 0, 0, 0.88), 0 0 14px rgba(201, 168, 76, 0.22); z-index: 999; }
.site-menu:where(.legal-page *) .menu-sub-wrap:hover .menu-sub, .site-menu:where(.legal-page *) .menu-sub-wrap:focus-within .menu-sub { display: flex; }
.site-menu:where(.legal-page *) .menu-sub a { height: 34px; display: flex; align-items: center; justify-content: center; padding: 0 0.85rem; white-space: nowrap; color: var(--gold); text-decoration: none; font-family: var(--font-sans); font-size: 0.60rem; letter-spacing: 0.14em; text-transform: uppercase; transition: background 0.2s, color 0.2s; }
.site-menu:where(.legal-page *) .menu-sub a:hover { background: rgba(201, 168, 76, 0.18); color: #fff; }
.site-menu:where(.legal-page *) .lang { display: flex; align-items: stretch; }
.site-menu:where(.legal-page *) .lang-btn { min-width: 2.5rem; width: 2.5rem; padding: 0; font-size: 0.62rem; font-weight: 600; letter-spacing: 0.10em; opacity: 0.85; }
.site-menu:where(.legal-page *) .lang-btn:hover { color: var(--gold-light); opacity: 1; background: rgba(201, 168, 76, 0.08); }
.site-menu:where(.legal-page *) .lang-btn:last-child { border-right: 0; }
.site-menu:where(.legal-page *) .lang-btn.is-active { color: var(--gold-light); opacity: 1; font-weight: 700; background: rgba(201, 168, 76, 0.18); box-shadow: 0 0 12px rgba(201, 168, 76, 0.25); }

/* 5. PSAIHOVEN-Kopf (1:1 .brand-block der Hauptseite) */
.psai-head:where(.legal-page *) { position: relative; z-index: 1; text-align: center; margin: 52px 0 2.2rem; } /* [Cassy 24.10.2026] Kopf 1:1 Startseite (#app padding-top 52px / 40px bei max-height:880px / 44px mobil) */
.psai-head:where(.legal-page *) a { text-decoration: none; display: inline-block; }
.presents:where(.legal-page *) { font-family: var(--font-sans); font-size: clamp(0.55rem, 1.4vw, 0.66rem); letter-spacing: 0.35em; text-transform: uppercase; color: var(--gold-deep); font-weight: 600; text-shadow: 0 0 12px rgba(212, 175, 55, 0.5), 0 0 24px rgba(212, 175, 55, 0.25); margin: 0 0 0.7rem; text-align: center; line-height: normal; hyphens: none; }
.logo:where(.legal-page *) { font-family: var(--font-serif); font-size: clamp(2.8rem, 8vw, 6rem); font-weight: normal; letter-spacing: 0.3em; line-height: 1; background: var(--gold-shimmer); -webkit-background-clip: text; background-clip: text; -webkit-text-fill-color: transparent; filter: drop-shadow(0 0 22px rgba(212, 175, 55, 0.45)); }
.logo-sub:where(.legal-page *) { font-family: var(--font-sans); font-size: clamp(0.72rem, 1.8vw, 0.88rem); font-weight: 400; letter-spacing: 0.45em; color: var(--silver); text-transform: uppercase; margin: 0.45rem 0 0; }
.psai-line:where(.legal-page *), .gold-line:where(.legal-page *) { width: 120px; height: 1px; margin: 0.9rem auto 0; background: var(--line-gold); }
@media (max-height: 880px) { .psai-head:where(.legal-page *) { margin-top: 40px; } }

/* 6. Inhalt + Typografie (Ueberschriften wie Hauptseite: Georgia, Gold) */
.container:where(.legal-page *) { position: relative; z-index: 1; width: 100%; max-width: 680px; flex: 1 0 auto; text-align: left; }
h1:where(.legal-page *), h2:where(.legal-page *), h3:where(.legal-page *), h4:where(.legal-page *) { font-family: var(--font-serif); font-weight: normal; color: var(--gold); text-align: left; line-height: 1.3; }
h1:where(.legal-page *) { font-size: clamp(1.3rem, 3vw, 1.6rem); letter-spacing: 0.06em; margin-bottom: 1.2rem; }
h2:where(.legal-page *) { font-size: 1.05rem; letter-spacing: 0.04em; margin: 1.9rem 0 0.5rem; }
h3:where(.legal-page *) { font-size: 0.95rem; letter-spacing: 0.03em; margin: 1.5rem 0 0.4rem; color: var(--gold-light); }
h4:where(.legal-page *) { font-size: 0.9rem; letter-spacing: 0.03em; margin-bottom: 0.45rem; color: var(--gold-light); }
p:where(.legal-page *), li:where(.legal-page *), address:where(.legal-page *) { font-family: var(--font-sans); font-style: normal; color: var(--silver); font-size: clamp(0.76rem, 1.5vw, 0.85rem); line-height: 1.8; text-align: left; hyphens: auto; }
p:where(.legal-page *) { margin-bottom: 0.8rem; }
address:where(.legal-page *) { margin-bottom: 1rem; }
ul:where(.legal-page *), ol:where(.legal-page *) { margin: 0.6rem 0 1.1rem 1.3rem; }
li:where(.legal-page *) { margin-bottom: 0.5rem; }
li:where(.legal-page *)::marker { color: var(--gold); }
strong:where(.legal-page *) { color: var(--silver); font-weight: 600; }
.divider:where(.legal-page *) { width: 80px; height: 1px; margin: 1.5rem 0; background: linear-gradient(90deg, var(--gold), transparent); opacity: .7; }
.intro:where(.legal-page *) { opacity: .85; letter-spacing: .02em; margin-bottom: 1.5rem; }
.subtitle:where(.legal-page *) { font-size: .78rem; opacity: .8; letter-spacing: .05em; margin-bottom: 1.5rem; }
.note-italic:where(.legal-page *) { font-style: italic; opacity: .78; }
.closing-note:where(.legal-page *) { margin-top: 1.2rem; font-style: italic; opacity: .85; }
.affiliate-label:where(.legal-page *) { font-size: .7rem; letter-spacing: .1em; opacity: .6; margin-bottom: .5rem; }
.affiliate-note:where(.legal-page *) { font-size: .7rem; opacity: .5; margin-top: .8rem; }
.spam-protected:where(.legal-page *) { unicode-bidi: bidi-override; direction: rtl; text-align: left; display: inline-block; }

/* 7. Links */
a:where(.legal-page *) { color: var(--gold); text-decoration: underline; text-decoration-color: rgba(201, 168, 76, 0.45); text-underline-offset: 3px; transition: color .25s ease, text-decoration-color .25s ease; }
a:hover:where(.legal-page *) { color: var(--gold-light); text-decoration-color: var(--gold); }
.partner-block:where(.legal-page *) { display: flex; align-items: center; gap: 1rem; margin-top: .8rem; }
.partner-block:where(.legal-page *) img { height: 18px; width: auto; filter: invert(1); opacity: .5; }
.partner-block:where(.legal-page *) a { font-size: .75rem; letter-spacing: .1em; color: var(--silver); opacity: .6; }

/* 8. Buttons + Badges */
.btn:where(.legal-page *) { font-family: var(--font-sans); font-size: 0.68rem; font-weight: 600; letter-spacing: 0.16em; text-transform: uppercase; text-decoration: none; padding: 0.75rem 1.6rem; display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem; transition: all 0.3s ease; cursor: pointer; }
.btn-primary:where(.legal-page *) { background: linear-gradient(135deg, rgba(201, 168, 76, 0.95), rgba(160, 126, 40, 0.95)); color: var(--dark); border: 1px solid rgba(255, 225, 130, 0.75); box-shadow: 0 2px 14px rgba(201, 168, 76, 0.35); }
.btn-primary:hover:where(.legal-page *) { transform: translateY(-2px); box-shadow: 0 4px 22px rgba(201, 168, 76, 0.6); filter: brightness(1.08); color: #05000a; }
.btn-secondary:where(.legal-page *) { background: rgba(8, 8, 8, 0.6); color: var(--silver); border: 1px solid rgba(201, 168, 76, 0.5); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
.btn-secondary:hover:where(.legal-page *) { background: rgba(201, 168, 76, 0.12); border-color: var(--gold-light); color: #fff; transform: translateY(-2px); box-shadow: 0 0 16px rgba(201, 168, 76, 0.25); }
.back:where(.legal-page *) { display: inline-block; margin-top: 3rem; color: var(--silver); font-size: .7rem; letter-spacing: .3em; text-transform: uppercase; text-decoration: none; opacity: .4; transition: opacity .3s, color .3s; }
.back:hover:where(.legal-page *) { opacity: 1; color: var(--cyan-glow); }
.video-btn:where(.legal-page *) { display: inline-flex; align-items: center; gap: .5rem; color: var(--cyan-glow); font-size: .76rem; letter-spacing: .08em; text-transform: uppercase; text-decoration: none; font-weight: 600; padding: .45rem .85rem; border: 1px solid rgba(0, 213, 255, .3); border-radius: 4px; background: rgba(0, 213, 255, .05); transition: all .2s ease; }
.video-btn:hover:where(.legal-page *) { color: var(--cyan-glow); background: rgba(0, 213, 255, .12); border-color: var(--cyan-glow); }
.compliance-badge:where(.legal-page *), a.deepdive-badge:where(.legal-page *), .tag-license:where(.legal-page *), .project-badge:where(.legal-page *) { display: inline-block; font-family: var(--font-sans); font-size: .66rem; letter-spacing: .12em; text-transform: uppercase; color: var(--cyan-soft); border: 1px solid rgba(31, 162, 196, .35); background: rgba(31, 162, 196, .06); padding: .35rem .75rem; border-radius: 4px; text-decoration: none; }
.compliance-badge:where(.legal-page *), .project-badge:where(.legal-page *) { margin-bottom: 1.2rem; }
.project-badge:where(.legal-page *) { letter-spacing: .2em; color: var(--gold-deep); border-color: rgba(212, 175, 55, .3); background: rgba(212, 175, 55, .04); }
.tag-license:where(.legal-page *) { font-size: .65rem; letter-spacing: .08em; padding: .2rem .55rem; border-radius: 3px; margin-top: .4rem; }
a.deepdive-badge:where(.legal-page *) { padding: .4rem .85rem; transition: all .2s ease; }
a.deepdive-badge:hover:where(.legal-page *) { background: rgba(31, 162, 196, .16); border-color: var(--cyan-glow); color: #fff; box-shadow: 0 0 12px rgba(0, 213, 255, .25); }

/* 9. Info-Karten */
.card-box:where(.legal-page *), .asset-card:where(.legal-page *), .deepdive-box:where(.legal-page *), .mind-card:where(.legal-page *) { background: rgba(201, 168, 76, 0.04); border: 1px solid rgba(201, 168, 76, .22); border-left: 3px solid var(--gold-light); border-radius: 4px; padding: 1rem 1.2rem; margin: 1rem 0 1.4rem; text-align: left; }
.card-box:where(.legal-page *) { border-left-width: 1px; border-color: rgba(201, 168, 76, .25); border-radius: 6px; padding: 1.2rem 1.4rem; backdrop-filter: blur(10px); }
.card-box--accent:where(.legal-page *) { border-color: rgba(212, 175, 55, .35); background: rgba(212, 175, 55, .03); margin-top: 1.5rem; }
.card-box:where(.legal-page *) h2:first-child, .card-title:where(.legal-page *) { margin-top: 0; }
.asset-card:where(.legal-page *) p { font-size: .76rem; line-height: 1.6; margin-bottom: .35rem; }
.asset-card:where(.legal-page *) p:last-child { margin-bottom: 0; }
.deepdive-box:where(.legal-page *) { margin: 1.8rem 0 1.2rem; padding: 1.25rem 1.4rem; background: linear-gradient(135deg, rgba(201, 168, 76, 0.05) 0%, rgba(107, 33, 168, 0.06) 100%); border-color: rgba(212, 175, 55, .28); border-radius: 6px; }
.deepdive-box.deepdive-lead:where(.legal-page *) { margin: 1.4rem 0 1.8rem; }
.deepdive-box:where(.legal-page *) p { font-size: clamp(0.74rem, 1.4vw, 0.82rem); line-height: 1.65; margin-bottom: .85rem; }
.minds-list:where(.legal-page *) { margin: 1.2rem 0; display: flex; flex-direction: column; gap: .85rem; }
.mind-card:where(.legal-page *) { margin: 0; border: 0; border-left: 2px solid var(--gold-deep); border-radius: 0 4px 4px 0; padding: .85rem 1.1rem; transition: background .2s ease; }
.mind-card:hover:where(.legal-page *) { background: rgba(201, 168, 76, 0.08); }
.mind-card.ceo:where(.legal-page *) { border-left-color: var(--gold-light); background: rgba(255, 215, 104, 0.06); }
.mind-card.ceo:hover:where(.legal-page *) { background: rgba(255, 215, 104, 0.1); }
.mind-title:where(.legal-page *) { font-family: var(--font-sans); font-size: clamp(0.78rem, 1.5vw, 0.86rem); font-weight: 600; color: var(--silver); letter-spacing: .06em; text-transform: uppercase; margin-bottom: .3rem; }
.mind-desc:where(.legal-page *) { font-size: clamp(0.74rem, 1.5vw, 0.82rem); line-height: 1.6; margin-bottom: .5rem; }
.mind-action-links:where(.legal-page *) { display: flex; flex-wrap: wrap; align-items: center; gap: .9rem; margin-top: .4rem; }
.mind-link-ig:where(.legal-page *), .mind-link-special:where(.legal-page *) { font-size: clamp(0.70rem, 1.4vw, 0.78rem); }
/* [Grok 25.10.2026] Links im Fliesstext (p/li) = Schriftgroesse des umgebenden Textes; Kartenlinks/Buttons unveraendert */
:is(p, li):where(.legal-page *) a:is(.mind-link-ig, .mind-link-special) { font-size: inherit; }

/* 10. Footer (1:1 .legal-footer = Hauptseite #copyright-sub) */
.legal-footer:where(.legal-page *) { position: relative; z-index: 1; width: 100%; max-width: 100vw; margin: 3rem auto 0; padding: 0 1rem; display: flex; flex-direction: column; align-items: center; gap: 0.5rem; font-family: var(--font-sans); font-size: 0.62rem; letter-spacing: 0.08em; color: var(--silver); text-align: center; line-height: 1; }
.legal-footer:where(.legal-page *)::before { content: ''; display: block; width: 130px; height: 1px; margin: 0 auto; background: var(--line-gold); opacity: 0.8; }
.legal-footer-social:where(.legal-page *) { display: flex; justify-content: center; align-items: center; gap: 0.9rem; }
.legal-footer-social:where(.legal-page *) a { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; text-decoration: none; opacity: 0.75; transition: opacity 0.2s ease, transform 0.2s ease; }
.legal-footer-social:where(.legal-page *) a img { display: block; width: 14px; height: 14px; filter: brightness(0) invert(0.75); transition: filter 0.25s ease, transform 0.25s ease; }
.legal-footer-social:where(.legal-page *) a:hover { opacity: 1; }
.legal-footer-social:where(.legal-page *) a:hover img { filter: brightness(0) invert(1) drop-shadow(0 0 6px var(--gold)); transform: scale(1.15); }
.legal-footer-nav:where(.legal-page *) { display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 0.4rem; font-family: var(--font-sans); font-size: 0.62rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--silver); line-height: 1; }
.legal-footer-nav:where(.legal-page *) a { font-size: inherit; color: var(--silver); text-decoration: none; transition: color 0.3s ease, opacity 0.3s ease; }
.legal-footer-nav:where(.legal-page *) a:hover, .legal-footer-nav:where(.legal-page *) a[aria-current="page"] { color: var(--gold); opacity: 1; }
.legal-footer-dot:where(.legal-page *) { color: var(--gold); opacity: 0.55; font-size: 0.75rem; line-height: 1; margin: 0 0.25rem; user-select: none; }
.legal-footer-copy-row:where(.legal-page *) { display: flex; justify-content: center; width: 100%; text-align: center; }
.legal-footer-copy:where(.legal-page *) { display: inline-block; font-family: 'Outfit Webfont', 'Outfit', 'Montserrat', sans-serif; font-size: 0.56rem; letter-spacing: 0.08em; text-transform: none; color: var(--silver); opacity: 0.65; line-height: 1.4; white-space: nowrap; }
.legal-footer-copy:where(.legal-page *) a, .legal-footer-copy:where(.legal-page *) a:hover { font-size: inherit; color: var(--gold); text-decoration: none; }

/* 11. 404 (seitenspezifisch) */
body.page-404:where(.legal-page, .legal-page *) { justify-content: space-between; }
.center-stage:where(.legal-page *) { position: relative; z-index: 1; width: 100%; max-width: 900px; display: flex; flex-direction: column; align-items: center; text-align: center; margin: auto 0; padding: 0 0 1rem; }
.page-404:where(.legal-page, .legal-page *) .psai-head { margin-bottom: 0.4rem; }
.ekg-wrapper:where(.legal-page *) { margin: 0.4rem auto 0.8rem; display: flex; justify-content: center; align-items: center; }
.psgp-ekg:where(.legal-page *) { display: block; width: clamp(260px, 46vw, 360px); height: 64px; }
.error-tag:where(.legal-page *) { font-family: var(--font-sans); font-size: 0.64rem; letter-spacing: 0.22em; text-transform: uppercase; color: var(--gold-light); opacity: 0.9; margin-bottom: 0.35rem; }
.error-code:where(.legal-page *) { font-family: var(--font-serif); font-size: clamp(2.4rem, 6vw, 3.8rem); font-weight: normal; letter-spacing: 0.15em; color: var(--gold-light); line-height: 1; margin-bottom: 0.4rem; text-shadow: 0 0 25px rgba(201, 168, 76, 0.35); }
h1.error-title:where(.legal-page *) { font-size: clamp(1rem, 2.4vw, 1.35rem); text-align: center; margin-bottom: 0.65rem; }
p.error-lead:where(.legal-page *) { font-family: 'Nunito', sans-serif; font-size: clamp(0.78rem, 1.8vw, 0.92rem); line-height: 1.6; text-align: center; max-width: 540px; margin: 0 auto 1.6rem; opacity: 0.9; }
.error-lead:where(.legal-page *) strong { color: #fff; }
.cta-group:where(.legal-page *) { display: inline-flex; flex-wrap: wrap; justify-content: center; gap: 0.9rem; }

/* 12. Eingebettete Ansicht (html.legal-embed: Iframe oder ?embed=1) */
html.legal-embed body:where(.legal-page, .legal-page *) { padding: 1.5rem 1rem; min-height: auto; background: transparent; }
html.legal-embed body:where(.legal-page, .legal-page *)::before, html.legal-embed body:where(.legal-page, .legal-page *)::after { display: none; }
html.legal-embed .site-menu:where(.legal-page *), html.legal-embed .psai-head:where(.legal-page *), html.legal-embed .legal-footer:where(.legal-page *), html.legal-embed .back:where(.legal-page *) { display: none !important; }
html.legal-embed .container:where(.legal-page *) { max-width: 100%; }

/* 13. Responsive */
@media (min-width: 501px) {
  .legal-footer-nav:where(.legal-page *) { font-size: 0.54rem; letter-spacing: 0.18em; }
  .legal-footer-nav:where(.legal-page *) a { opacity: 0.6; }
  .legal-footer-nav:where(.legal-page *) a:hover, .legal-footer-nav:where(.legal-page *) a[aria-current="page"] { opacity: 1; }
  .legal-footer-dot:where(.legal-page *) { opacity: 0.4; }
}
@media (max-width: 560px) {
  .site-menu:where(.legal-page *) .menu-btn, .site-menu:where(.legal-page *) .lang-btn { min-width: 0; padding: 0 0.45rem; font-size: 0.56rem; letter-spacing: 0.10em; height: 34px; }
  .site-menu:where(.legal-page *) .menu-sub-wrap > .menu-btn { min-width: 0; padding: 0 0.5rem; }
  .site-menu:where(.legal-page *) .lang-btn { min-width: 2rem; width: 2rem; padding: 0; }
  .presents:where(.legal-page *) { font-size: clamp(0.44rem, 2.1vw, 0.52rem); letter-spacing: clamp(0.12em, 0.9vw, 0.18em); margin-bottom: 0.4rem; }
  .psai-head:where(.legal-page *) { margin-top: 44px; }
  .logo:where(.legal-page *) { font-size: clamp(2.1rem, 9.5vw, 2.85rem); letter-spacing: 0.22em; }
  .logo-sub:where(.legal-page *) { font-size: clamp(0.52rem, 2.4vw, 0.62rem); letter-spacing: clamp(0.18em, 1.1vw, 0.25em); margin-top: 0.35rem; }
}
@media (max-width: 500px) {
  body:where(.legal-page, .legal-page *) { padding: 0 1rem 1.5rem; }
  .legal-footer:where(.legal-page *) { gap: 0.3rem; }
  .legal-footer-social:where(.legal-page *) { gap: 0.75rem; }
  .legal-footer-social:where(.legal-page *) a { width: 16px; height: 16px; }
  .legal-footer-social:where(.legal-page *) a img { width: 13px; height: 13px; }
  .legal-footer-nav:where(.legal-page *) { font-size: 0.55rem; letter-spacing: 0.12em; gap: 0.2rem; }
  .legal-footer-dot:where(.legal-page *) { margin: 0 0.12rem; }
  .legal-footer-copy:where(.legal-page *) { font-size: 0.48rem; letter-spacing: 0.04em; line-height: 1.3; }
  .cta-group:where(.legal-page *) { flex-direction: column; width: 100%; max-width: 280px; }
  .btn:where(.legal-page *) { width: 100%; }
}
@media (max-width: 400px) {
  .site-menu:where(.legal-page *) .menu-btn, .site-menu:where(.legal-page *) .lang-btn { padding: 0 0.32rem; font-size: 0.52rem; letter-spacing: 0.08em; height: 32px; }
  .site-menu:where(.legal-page *) .lang-btn { min-width: 1.8rem; width: 1.8rem; padding: 0; }
}
@media (max-width: 380px) {
  .legal-footer-social:where(.legal-page *) { gap: 0.6rem; }
  .legal-footer-nav:where(.legal-page *) { font-size: 0.53rem; letter-spacing: 0.12em; }
}