/* Möllenvogtei Design System — Tokens
   Quelle: project/_ds/…/tokens/*.css (Claude Design Handoff) */

@import url("fonts-local.css");

:root{
  /* --- Base palette: "The Precious Palette" --- */
  --mv-void:#000000;
  --mv-night:#101319;
  --mv-night-2:#1F2023;
  --mv-slate:#404147;
  --mv-slate-2:#5A5C64;

  --mv-gold:#DAA520;
  --mv-gold-light:#F5E2A1;
  --mv-gold-deep:#BB924D;
  --mv-gold-ink:#7A5E22;

  --mv-starsilver:#F2F4F7;
  --mv-starsilver-2:#DDE1E7;
  --mv-white:#FFFFFF;

  --mv-success:#5E9B75;
  --mv-warning:#DAA520;
  --mv-danger:#B4463C;
  --mv-info:#7E97B3;

  --gradient-foil:linear-gradient(135deg,var(--mv-gold-light) 0%,var(--mv-gold) 45%,var(--mv-gold-deep) 100%);
  --gradient-foil-soft:linear-gradient(180deg,var(--mv-gold-light) 0%,var(--mv-gold) 100%);
  --gradient-night:linear-gradient(180deg,#171B24 0%,var(--mv-night) 55%,var(--mv-void) 100%);
  --gradient-protect:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.72) 62%,rgba(0,0,0,.92) 100%);

  --surface-page:var(--mv-night);
  --surface-card:var(--mv-night-2);
  --surface-raised:#22262F;
  --surface-inverse:var(--mv-starsilver);
  --surface-foil:var(--gradient-foil);

  --text-primary:var(--mv-starsilver);
  --text-secondary:rgba(242,244,247,.68);
  --text-muted:rgba(242,244,247,.45);
  --text-accent:var(--mv-gold);
  --text-on-foil:var(--mv-void);
  --text-on-light:var(--mv-night);

  --border-hairline:rgba(218,165,32,.28);
  --border-strong:rgba(218,165,32,.62);
  --border-neutral:rgba(242,244,247,.14);

  --focus-ring:rgba(245,226,161,.85);
  --overlay-scrim:rgba(0,0,0,.72);

  /* Typography */
  --font-display:"Josefin Sans","Flegrei","Futura PT",system-ui,sans-serif;
  --font-body:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --font-mono:"SFMono-Regular",ui-monospace,Menlo,Consolas,monospace;

  --weight-light:300; --weight-regular:400; --weight-medium:500;
  --weight-semibold:600; --weight-bold:700; --weight-extrabold:800;

  --size-display-xl:96px; --size-display-l:64px; --size-display-m:44px; --size-display-s:32px;
  --size-title:24px; --size-body-l:19px; --size-body:16px; --size-body-s:14px;
  --size-caption:12.5px; --size-overline:11px;

  --leading-display:0.98; --leading-tight:1.16; --leading-body:1.62; --leading-loose:1.8;

  --tracking-display:0.06em; --tracking-heading:0.04em;
  --tracking-overline:0.22em; --tracking-body:0.005em;

  /* Spacing */
  --space-0:0px; --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;
  --container-max:1200px; --gutter:24px; --gutter-wide:48px;

  /* Radius */
  --radius-none:0px; --radius-xs:2px; --radius-sm:4px; --radius-md:8px;
  --radius-lg:14px; --radius-pill:999px; --radius-seal:50%;
  --hairline:1px; --rule-thick:2px; --frame-inset:6px;

  /* Elevation */
  --shadow-none:none;
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow-md:0 8px 24px rgba(0,0,0,.55);
  --shadow-lg:0 24px 64px rgba(0,0,0,.62);
  --shadow-inset-hairline:inset 0 0 0 1px var(--border-hairline);
  --glow-gold-sm:0 0 0 1px rgba(218,165,32,.35),0 0 18px rgba(218,165,32,.18);
  --glow-gold-md:0 0 0 1px rgba(218,165,32,.5),0 0 34px rgba(218,165,32,.3);
  --glow-star:0 0 12px rgba(245,226,161,.55);
  --blur-glass:14px;
  --scrim-blur:saturate(120%) blur(14px);

  /* Motion */
  --duration-instant:90ms; --duration-fast:160ms; --duration-base:240ms;
  --duration-slow:420ms; --duration-ambient:9000ms;
  --ease-standard:cubic-bezier(.4,0,.2,1);
  --ease-out:cubic-bezier(.16,1,.3,1);
  --ease-in:cubic-bezier(.5,0,.9,.4);
  --lift-hover:-1px; --press-scale:.985;
}

@media (prefers-reduced-motion:reduce){
  :root{--duration-fast:1ms;--duration-base:1ms;--duration-slow:1ms;--duration-ambient:1ms}
}

*,*::before,*::after{box-sizing:border-box}
body{margin:0;background:var(--surface-page);color:var(--text-primary);font-family:var(--font-body);font-size:var(--size-body);line-height:var(--leading-body);letter-spacing:var(--tracking-body);-webkit-font-smoothing:antialiased;text-wrap:pretty}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-heading);line-height:var(--leading-tight);margin:0}
h1{font-size:var(--size-display-l);letter-spacing:var(--tracking-display);line-height:var(--leading-display)}
h2{font-size:var(--size-display-m)}
h3{font-size:var(--size-display-s)}
h4{font-size:var(--size-title)}
p{margin:0}
a{color:var(--text-accent);text-decoration:none;border-bottom:1px solid var(--border-hairline);transition:color var(--duration-fast) var(--ease-standard),border-color var(--duration-fast) var(--ease-standard)}
a:hover{color:var(--mv-gold-light);border-bottom-color:var(--border-strong)}
::selection{background:var(--mv-gold);color:var(--mv-void)}
:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}
.mv-overline{font-family:var(--font-body);font-size:var(--size-overline);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-overline);color:var(--text-accent)}
.mv-foil-text{background:var(--gradient-foil);-webkit-background-clip:text;background-clip:text;color:transparent}
