/*!
 * LeineGlück KI-Solutions — Design-Tokens
 * Farben, Typo-Skala, Abstaende, Radien, Schatten und Basis-Elementstile.
 *
 * @author    LeineGlück Online-Marketing
 * @link      https://www.leineglueck.de
 * @copyright © 2026 LeineGlück Online-Marketing
 * @license   GPL-2.0-or-later
 */
:root{
  --plum-900:#2A1530;   
  --plum-700:#42275A;   
  --plum-500:#734B6D;   
  --plum-300:#C096C2;   
  --white:#FFFFFF;
  --plum-050:#F7F3F8;
  --plum-100:#EFE7F0;
  --plum-200:#DCC9DD;
  --neutral-900:#1C1220;
  --neutral-700:#4A3F4E;
  --neutral-500:#7A6F7E;
  --neutral-300:#C9C2CB;
  --neutral-200:#E4E0E5;
  --neutral-100:#F2F0F3;
  --gradient-brand:linear-gradient(135deg,#42275A 0%,#734B6D 100%); 
  --gradient-brand-h:linear-gradient(90deg,#42275A 0%,#734B6D 100%); 
  --gradient-deep:linear-gradient(135deg,#2A1530 0%,#42275A 50%,#734B6D 100%); 
  --gradient-hero-radial:radial-gradient(circle at top right,#734B6D 0%,#42275A 45%,#2A1530 100%); 
  --gradient-brand-hover:linear-gradient(135deg,#38204C 0%,#63405E 100%); 
  --gradient-hairline:linear-gradient(90deg,rgba(192,150,194,0) 0%,rgba(192,150,194,.75) 50%,rgba(192,150,194,0) 100%); 
  --surface-page:var(--white);
  --surface-subtle:var(--plum-050);
  --surface-card:var(--white);
  --surface-card-hover:var(--plum-050);
  --text-heading:var(--plum-900);
  --text-body:var(--neutral-700);
  --text-muted:var(--neutral-500);
  --text-accent:var(--plum-500);
  --icon-on-light:var(--plum-500);
  --border-hairline:var(--neutral-200);
  --border-strong:var(--plum-200);
  --focus-ring:var(--plum-500);
  --surface-dark:var(--plum-900);
  --surface-dark-card:#38213E;
  --surface-dark-card-hover:#43284A;
  --text-on-dark:var(--white);
  --text-on-dark-muted:var(--plum-300);
  --icon-on-dark:var(--plum-300);
  --border-on-dark:rgba(192,150,194,.28);
  --border-on-dark-strong:rgba(192,150,194,.55);
  --status-success:#3F6B52;
  --status-warning:#8A6A2F;
  --status-danger:#8C3A46;
  --status-info:var(--plum-500);
}
:root{
  --font-brand:"Michroma","Eurostile",system-ui,sans-serif;
  --font-heading:"Sora",system-ui,-apple-system,sans-serif;
  --font-body:"Manrope",system-ui,-apple-system,sans-serif;
  --font-mono:"IBM Plex Mono",ui-monospace,monospace;
  --fs-display-xl:clamp(2.75rem,5.2vw,4.5rem); 
  --fs-display:clamp(2.25rem,4vw,3.5rem); 
  --fs-h1:clamp(2rem,3.2vw,2.75rem); 
  --fs-h2:clamp(1.625rem,2.4vw,2.125rem); 
  --fs-h3:1.375rem; 
  --fs-h4:1.125rem; 
  --fs-lead:1.1875rem; 
  --fs-body:1rem; 
  --fs-body-sm:.9375rem; 
  --fs-caption:.8125rem; 
  --fs-eyebrow:.75rem; 
  --lh-tight:1.08; 
  --lh-heading:1.18; 
  --lh-snug:1.35; 
  --lh-body:1.65; 
  --ls-display:-.02em; 
  --ls-heading:-.015em; 
  --ls-body:0; 
  --ls-eyebrow:.16em; 
  --ls-brand:.06em; 
  --fw-regular:400; 
  --fw-medium:500; 
  --fw-semibold:600; 
  --fw-bold:700; 
}
:root{
  --space-0:0;
  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:24px;
  --space-6:32px;
  --space-7:48px;
  --space-8:64px;
  --space-9:96px;
  --space-10:128px;
  --gutter:24px;
  --container:1200px;
  --container-narrow:760px;
  --section-y:clamp(64px,9vw,128px); 
  --card-pad:28px;
  --control-h:48px;
  --control-h-sm:38px;
  --control-pad-x:24px;
}
:root{
  --radius-xs:4px;
  --radius-sm:8px;
  --radius-md:12px;
  --radius-lg:18px;
  --radius-xl:28px;
  --radius-pill:999px;
  --radius-card:16px;
  --radius-control:10px;
  --border-w:1px; 
  --border-w-strong:2px; 
}
:root{
  --shadow-none:none;
  --shadow-xs:0 1px 2px rgba(42,21,48,.06);
  --shadow-sm:0 2px 8px rgba(42,21,48,.06);
  --shadow-md:0 8px 24px rgba(42,21,48,.08);
  --shadow-lg:0 20px 48px rgba(42,21,48,.12);
  --shadow-brand:0 12px 32px rgba(66,39,90,.28);
  --shadow-inset-dark:inset 0 1px 0 rgba(255,255,255,.06);
  --ring-focus:0 0 0 3px rgba(115,75,109,.32);
  --ring-focus-dark:0 0 0 3px rgba(192,150,194,.42);
}
:root{
  --ease-standard:cubic-bezier(.4,0,.2,1); 
  --ease-out:cubic-bezier(.16,1,.3,1); 
  --ease-in-out:cubic-bezier(.65,0,.35,1); 
  --dur-fast:120ms; 
  --dur-base:200ms; 
  --dur-slow:320ms; 
  --dur-reveal:600ms; 
  --lift-hover:-2px; 
  --press-scale:.985; 
}
*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-body);font-family:var(--font-body);font-size:var(--fs-body);line-height:var(--lh-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4,h5{font-family:var(--font-heading);color:var(--text-heading);letter-spacing:var(--ls-heading);line-height:var(--lh-heading);font-weight:var(--fw-semibold);margin:0 0 var(--space-4)}
p{margin:0 0 var(--space-4)}
a{color:var(--plum-700);text-decoration:none;border-bottom:1px solid rgba(115,75,109,.35);transition:color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard)}
a:hover{color:var(--plum-500);border-bottom-color:var(--plum-500)}
::selection{background:var(--plum-300);color:var(--plum-900)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
[data-theme="dark"],.on-dark{color:var(--text-on-dark)}
[data-theme="dark"] h1,[data-theme="dark"] h2,[data-theme="dark"] h3,[data-theme="dark"] h4,.on-dark h1,.on-dark h2,.on-dark h3,.on-dark h4{color:var(--text-on-dark)}
[data-theme="dark"] a,.on-dark a{color:var(--plum-300);border-bottom-color:rgba(192,150,194,.4)}
[data-theme="dark"] a:hover,.on-dark a:hover{color:var(--white);border-bottom-color:var(--white)}
a{color:#42275A}
a:hover{color:#734B6D}