/* Framework v1.0.0 — Generated 2026-09-20 20:33:24 UTC. Do not edit manually. */

:root {

    /* Typography */
    --fw-text-xs: 0.75rem;
    --fw-text-sm: clamp(0.8125rem, 0.0939vw + 0.79049rem, 0.875rem);
    --fw-text-base: clamp(1rem, 0.18779vw + 0.95599rem, 1.125rem);
    --fw-text-lg: clamp(1.125rem, 0.28169vw + 1.05898rem, 1.3125rem);
    --fw-text-xl: clamp(1.25rem, 0.46948vw + 1.13996rem, 1.5625rem);
    --fw-text-2xl: clamp(1.5rem, 0.75117vw + 1.32394rem, 2rem);
    --fw-text-3xl: clamp(1.75rem, 1.12676vw + 1.48592rem, 2.5rem);
    --fw-text-4xl: clamp(2rem, 1.87793vw + 1.55986rem, 3.25rem);
    --fw-text-5xl: clamp(2.25rem, 2.62911vw + 1.6338rem, 4rem);
    --fw-prose-max-width: 65ch;
    --fw-line-height-base: 1.5;

    /* Spacing */
    --fw-space-3xs: 0.25rem;
    --fw-space-2xs: clamp(0.375rem, 0.01174vw + 0.33098rem, 0.5rem);
    --fw-space-xs: clamp(0.5rem, 0.02347vw + 0.41199rem, 0.75rem);
    --fw-space-sm: clamp(0.75rem, 0.02347vw + 0.66199rem, 1rem);
    --fw-space-md: clamp(1rem, 0.04695vw + 0.82394rem, 1.5rem);
    --fw-space-lg: clamp(1.5rem, 0.07042vw + 1.23593rem, 2.25rem);
    --fw-space-xl: clamp(2.25rem, 0.07042vw + 1.98593rem, 3rem);
    --fw-space-2xl: clamp(3rem, 0.0939vw + 2.64788rem, 4rem);
    --fw-space-3xl: clamp(4rem, 0.18779vw + 3.29579rem, 6rem);
    --fw-space-4xl: clamp(6rem, 0.18779vw + 5.29579rem, 8rem);

    /* Colors — brand (scales generated below) */
    --fw-color-mhs-blau: #20254a;
    --fw-color-mhs-gelb: #fdc500;
    --fw-color-dunkelgrau: #151515;
    --fw-color-grau: #494949;
    --fw-color-hellgrau: #dbdbdb;
    --fw-color-hellgrau-light: #f1f1f1;
    --fw-color-wei: #ffffff;

    /* Colors — semantic role aliases */
    --fw-color-primary: var(--fw-color-mhs-blau);
    --fw-color-primary-100: var(--fw-color-mhs-blau-100);
    --fw-color-primary-200: var(--fw-color-mhs-blau-200);
    --fw-color-primary-300: var(--fw-color-mhs-blau-300);
    --fw-color-primary-600: var(--fw-color-mhs-blau-600);
    --fw-color-primary-700: var(--fw-color-mhs-blau-700);
    --fw-color-primary-800: var(--fw-color-mhs-blau-800);
    --fw-color-secondary: var(--fw-color-mhs-gelb);
    --fw-color-secondary-100: var(--fw-color-mhs-gelb-100);
    --fw-color-secondary-200: var(--fw-color-mhs-gelb-200);
    --fw-color-secondary-300: var(--fw-color-mhs-gelb-300);
    --fw-color-secondary-600: var(--fw-color-mhs-gelb-600);
    --fw-color-secondary-700: var(--fw-color-mhs-gelb-700);
    --fw-color-secondary-800: var(--fw-color-mhs-gelb-800);

    /* Colors — surface */
    --fw-color-text:        #151515;
    --fw-color-text-muted:  #494949;
    --fw-color-background:  #ffffff;
    --fw-color-surface:     #f9fafb;
    --fw-color-border:      #f1f1f1;
    --fw-color-selection-bg:   #ffffff;
    --fw-color-selection-text: #ffffff;

    /* Colors — neutral scale */
    --fw-color-neutral-50: #f7f7f7;
    --fw-color-neutral-100: #f0f0f0;
    --fw-color-neutral-200: #dedede;
    --fw-color-neutral-300: #c2c2c2;
    --fw-color-neutral-400: #999999;
    --fw-color-neutral-500: #787878;
    --fw-color-neutral-600: #5e5e5e;
    --fw-color-neutral-700: #474747;
    --fw-color-neutral-800: #333333;
    --fw-color-neutral-900: #212121;
    --fw-color-neutral-950: #141414;

    /* Layout */
    --fw-container-max:     1280px;
    --fw-container-narrow:  768px;
    --fw-container-wide:    1440px;
    --fw-container-padding: var(--fw-space-md);

    /* Border Radius */
    --fw-radius-none: 0;
    --fw-radius-sm: 4px;
    --fw-radius-md: 8px;
    --fw-radius-lg: 12px;
    --fw-radius-xl: 16px;
    --fw-radius-2xl: 24px;
    --fw-radius-full: 9999px;

    /* Shadows */
    --fw-shadow-sm: 0 1px 2px rgba(0,0,0,0.05);
    --fw-shadow-md: 0 4px 6px rgba(0,0,0,0.07);
    --fw-shadow-lg: 0 10px 15px rgba(0,0,0,0.1);
    --fw-shadow-xl: 0 20px 25px rgba(0,0,0,0.1);

    /* Transitions */
    --fw-transition-fast: 150ms ease;
    --fw-transition-base: 250ms ease;
    --fw-transition-slow: 400ms ease;

    /* Z-Index */
    --fw-z-dropdown: 100;
    --fw-z-sticky: 200;
    --fw-z-overlay: 300;
    --fw-z-modal: 400;
    --fw-z-toast: 500;

    /* Aspect Ratios */
    --fw-ratio-square: 1 / 1;
    --fw-ratio-video: 16 / 9;
    --fw-ratio-portrait: 3 / 4;
    --fw-ratio-landscape: 4 / 3;
    --fw-ratio-ultrawide: 21 / 9;
}

/* Color Scales — generated via color-mix(in oklch, …) */
:root {
}

/* ── Framework Buttons ───────────────────────────────────────────────── */

.fw-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-block: var(--fw-space-sm);
    padding-inline: var(--fw-space-md);
    border-radius: var(--fw-radius-md);
    font-weight: 500;
    font-size: var(--fw-text-base);
    line-height: 1.25;
    text-decoration: none;
    cursor: pointer;
    border: 2px solid transparent;
    transition: var(--fw-transition-fast);
    white-space: nowrap;
}

.fw-btn:focus-visible {
    outline: 2px solid var(--fw-color-primary);
    outline-offset: 2px;
}

.fw-btn--sm {
    padding-block: var(--fw-space-xs);
    padding-inline: var(--fw-space-sm);
    font-size: var(--fw-text-sm);
}

.fw-btn--lg {
    padding-block: var(--fw-space-md);
    padding-inline: var(--fw-space-lg);
    font-size: var(--fw-text-lg);
}

.fw-btn--primary {
    background-color: var(--fw-color-primary);
    color: #ffffff;
    border-color: var(--fw-color-primary);
}
.fw-btn--primary:hover {
    background-color: var(--fw-color-primary-600);
    border-color: var(--fw-color-primary-600);
}

.fw-btn--secondary {
    background-color: var(--fw-color-secondary);
    color: #ffffff;
    border-color: var(--fw-color-secondary);
}
.fw-btn--secondary:hover {
    background-color: var(--fw-color-secondary-600);
    border-color: var(--fw-color-secondary-600);
}

.fw-btn--outline {
    background-color: transparent;
    color: var(--fw-color-primary);
    border-color: var(--fw-color-primary);
}
.fw-btn--outline:hover {
    background-color: var(--fw-color-primary-100);
}

.fw-btn--ghost {
    background-color: transparent;
    color: var(--fw-color-primary);
    border-color: transparent;
}
.fw-btn--ghost:hover {
    background-color: var(--fw-color-primary-100);
}

/* ── Framework Links ────────────────────────────────────────────────────── */

a {
    color: #20254a;
    text-decoration: none;
    transition: color var(--fw-transition-fast);
}

a:hover {
    color: var(--fw-color-primary-600);
    text-decoration: none;
}

a:focus-visible {
    outline: 2px solid var(--fw-color-primary);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ── Selection Styling ──────────────────────────────────────────────────── */

::selection {
    background-color: var(--fw-color-selection-bg);
    color: var(--fw-color-selection-text);
}

/* ── Skip Link ──────────────────────────────────────────────────────────── */

.fw-skip-link {
    position: absolute;
    top: -100%;
    left: 1rem;
    z-index: var(--fw-z-toast);
    padding: var(--fw-space-sm) var(--fw-space-md);
    background: var(--fw-color-primary);
    color: #fff;
    border-radius: var(--fw-radius-md);
    font-weight: 600;
    text-decoration: none;
    transition: top var(--fw-transition-fast);
}
.fw-skip-link:focus {
    top: 1rem;
}