/* Design-System-Tokens — 1:1 aus dem Claude-Design-Projekt übernommen.
   Quelle: _ds/nexora-consulting-design-system-002c0c02…/tokens/
   Nicht von Hand ändern: bei einem erneuten Import wird diese Datei überschrieben.

   Abweichung: die Schriftfamilien stehen NICHT hier, sondern in styles.css.
   Das Design-System nennt Alegreya Sans, die 53 Seiten selbst setzen aber
   Figtree/Gabarito/JetBrains Mono. Die Seiten sind maßgeblich. */

@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,300..500,0..1,0&display=swap");

/* ---- colors ---- */
:root{
/* brand */
--green-50:#eef7f2;--green-100:#d9ede3;--green-200:#9dcfb7;--green-500:#3b9f6e;--green-600:#33875e;--green-700:#256b48;
/* ink + neutrals */
--ink-950:#0c0b09;--ink-900:#1f1f1f;--ink-800:#231f1e;--ink-700:#3a3634;--grey-600:#5a5756;--grey-500:#666666;--grey-400:#8c8c8c;
--slate-50:#f8fafc;--slate-100:#f1f5f9;--slate-200:#e2e8f0;--slate-300:#cbd5e1;--white:#ffffff;
/* scrims used over photography */
--scrim-strong:rgba(12,11,9,.78);--scrim-soft:rgba(12,11,9,.45);
--scrim-bottom:linear-gradient(180deg,rgba(12,11,9,0) 0%,rgba(12,11,9,.72) 78%,rgba(12,11,9,.88) 100%); /* @kind color */
--scrim-left:linear-gradient(90deg,rgba(12,11,9,.86) 0%,rgba(12,11,9,.55) 48%,rgba(12,11,9,.15) 100%); /* @kind color */

/* semantic — text */
--text-primary:var(--ink-900);--text-body:var(--grey-500);--text-muted:var(--grey-400);--text-inverse:var(--white);
--text-inverse-soft:rgba(255,255,255,.72);--text-accent:var(--green-500);--text-link:var(--green-600);--text-link-hover:var(--green-700);
/* semantic — surfaces */
--surface-page:var(--white);--surface-tint:var(--slate-50);--surface-card:var(--white);--surface-chip:var(--slate-50);
--surface-dark:var(--ink-800);--surface-photo:var(--ink-950);--surface-accent:var(--green-500);--surface-accent-tint:var(--green-50);
/* semantic — borders */
--border-subtle:var(--slate-200);--border-chip:var(--slate-200);--border-strong:var(--slate-300);--border-inverse:rgba(255,255,255,.22);
/* semantic — interactive */
--accent:var(--green-500);--accent-hover:var(--green-600);--accent-press:var(--green-700);
--btn-dark-bg:var(--ink-800);--btn-dark-bg-hover:#332d2b;--btn-light-bg:var(--white);--btn-light-bg-hover:var(--slate-100);
--focus-ring:rgba(59,159,110,.45);
/* status */
--success:var(--green-500);--warning:#c9860f;--danger:#b3352c;
}

/* ---- typography ---- */
:root{
--font-sans:"Alegreya Sans","Candara","Segoe UI",system-ui,sans-serif;
--fw-regular:400; /* @kind font */--fw-medium:500; /* @kind font */--fw-bold:700; /* @kind font */--fw-black:800; /* @kind font */
--fs-display:44px;--fs-h1:40px;--fs-h2:32px;--fs-h3:22px;--fs-h4:18px;
--fs-body-lg:17px;--fs-body:15px;--fs-sm:14px;--fs-xs:13px;--fs-eyebrow:12px;
--lh-tight:1.15; /* @kind font */--lh-heading:1.25; /* @kind font */--lh-snug:1.4; /* @kind font */--lh-body:1.62; /* @kind font */
--ls-display:-0.005em; /* @kind font */--ls-heading:0; /* @kind font */--ls-body:0; /* @kind font */--ls-eyebrow:0.14em; /* @kind font */--ls-wordmark:0.18em; /* @kind font */--ls-button:0.01em; /* @kind font */
/* composed roles */
--type-display:var(--fw-bold) var(--fs-display)/var(--lh-tight) var(--font-sans);
--type-h2:var(--fw-bold) var(--fs-h2)/var(--lh-heading) var(--font-sans);
--type-h3:var(--fw-bold) var(--fs-h3)/var(--lh-snug) var(--font-sans);
--type-body:var(--fw-regular) var(--fs-body)/var(--lh-body) var(--font-sans);
--type-eyebrow:var(--fw-medium) var(--fs-eyebrow)/1.2 var(--font-sans);
--type-button:var(--fw-medium) var(--fs-sm)/1 var(--font-sans);
}

/* ---- spacing ---- */
:root{
--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;
--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--space-24:96px;--space-30:120px;
--container-max:1284px;--container-gutter:78px;--container-narrow:900px;
--section-y:120px;--section-y-tight:80px;--grid-gap:24px;--stack-gap:16px;
}

/* ---- radius ---- */
:root{
--radius-xs:6px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:24px;--radius-pill:999px;
--radius-card:16px;--radius-image:12px;--radius-control:999px;--radius-chip:999px;
--border-width:1px;--border-width-strong:2px;
}

/* ---- elevation ---- */
:root{
--shadow-none:none; /* @kind shadow */
--shadow-sm:0 1px 2px rgba(15,23,42,.06);
--shadow-card:0 8px 24px rgba(15,23,42,.08);
--shadow-lift:0 16px 40px rgba(15,23,42,.12);
--shadow-photo:0 24px 60px rgba(12,11,9,.28);
--shadow-header:0 1px 0 rgba(15,23,42,.07);
--inner-hairline:inset 0 0 0 1px var(--border-subtle); /* @kind shadow */
}

/* ---- motion ---- */
:root{
--ease-out:cubic-bezier(.2,.7,.3,1); /* @kind other */
--ease-in-out:cubic-bezier(.4,0,.2,1); /* @kind other */
--dur-fast:140ms; /* @kind other */
--dur-base:200ms; /* @kind other */
--dur-slow:320ms; /* @kind other */
--dur-image:600ms; /* @kind other */
--transition-control:background-color var(--dur-base) var(--ease-out),color var(--dur-base) var(--ease-out),border-color var(--dur-base) var(--ease-out),transform var(--dur-fast) var(--ease-out); /* @kind other */
--hover-lift:translateY(-2px); /* @kind other */
--press-scale:scale(.985); /* @kind other */
}

/* ---- base ---- */
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body{margin:0;font:var(--type-body);color:var(--text-body);background:var(--surface-page)}
h1,h2,h3,h4,h5{margin:0;color:var(--text-primary);font-family:var(--font-sans);font-weight:var(--fw-bold);line-height:var(--lh-heading);text-wrap:pretty}
h1{font-size:var(--fs-h1);line-height:var(--lh-tight)}h2{font-size:var(--fs-h2)}h3{font-size:var(--fs-h3)}h4{font-size:var(--fs-h4)}
p{margin:0 0 var(--space-4)}
a{color:var(--text-link);text-decoration:none;transition:color var(--dur-base) var(--ease-out)}
a:hover{color:var(--text-link-hover)}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
::selection{background:var(--green-200);color:var(--ink-900)}
.material-symbols-outlined{font-family:var(--font-icon);font-weight:400;font-style:normal;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;font-variation-settings:'FILL' 0,'wght' 400,'GRAD' 0,'opsz' 24}
