/* Deck-Styling fuer "Ich wiederhole mich. Ich wiederhole mich."
   (Silvio Lange, TE Printline, 15. September 2026).

   Uebernommen aus dem Claude-Design-Deck: Mulish-Webfont (lokal statt
   Google Fonts), die TE-Printline-Design-Tokens und die Keyframes, die
   die Folien-Animationen tragen. Alle Animationsregeln haengen an
   section[data-deck-active] — das Attribut setzt deck-stage.js, genau
   wie in den anderen Decks hier. Die Folien selbst sind vollstaendig
   inline gestylt. */

* { box-sizing: border-box; }

/* TE Printline webfont — Avenir (Hausschrift) has no web license.
   Mulish (Google Fonts) is the approved equivalent substitute. */
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-italic.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-italic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-italic.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-italic.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


:root{
  /* ---- Brand primitives ---- */
  --te-red: #c61824;            /* Primärfarbe — Akzent & Aktion */
  --te-red-600: #a5121d;        /* hover / pressed */
  --te-red-700: #85101a;        /* darker */
  --te-red-100: #f7dcde;        /* tint surface */
  --te-red-50:  #fceff0;        /* faint tint */

  --te-gray: #7a767c;           /* Sekundärfarbe */
  --te-gray-600: #615e64;
  --te-gray-400: #a5a2a7;
  --te-gray-200: #d9d7db;
  --te-gray-100: #ecebed;

  /* ---- Neutral scale ---- */
  --white: #ffffff;
  --n-25:  #fafafb;
  --n-50:  #f5f5f6;
  --n-100: #ecebed;
  --n-200: #d9d7db;
  --n-300: #c2bfc4;
  --n-400: #a5a2a7;
  --n-500: #7a767c;
  --n-600: #615e64;
  --n-700: #4a484d;
  --n-800: #323135;
  --n-900: #1c1b1e;

  /* ---- Semantic status ---- */
  --success: #2e7d46;
  --success-100: #e2f0e6;
  --warning: #c77a13;
  --warning-100: #f8ecd8;
  --danger: #c61824;
  --info: var(--te-gray-600);      /* neutral — no sub-brand blue in unified CI */
  --info-100: #ecebed;

  /* ---- Semantic aliases ---- */
  --color-primary: var(--te-red);
  --color-primary-hover: var(--te-red-600);
  --color-primary-active: var(--te-red-700);
  --color-secondary: var(--te-gray);

  --surface-page: var(--white);
  --surface-subtle: var(--n-50);
  --surface-card: var(--white);
  --surface-inverse: var(--n-900);
  --surface-brand: var(--te-red);

  --text-strong: var(--n-900);
  --text-body: var(--n-800);
  --text-muted: var(--n-500);
  --text-on-brand: var(--white);
  --text-link: var(--te-red);
  --text-link-hover: var(--te-red-700);

  --border-subtle: var(--n-200);
  --border-default: var(--n-300);
  --border-strong: var(--n-400);
  --border-brand: var(--te-red);
  --focus-ring: color-mix(in srgb, var(--te-red) 45%, transparent);
}

/* TE Printline webfont — Avenir (Hausschrift) has no web license.
   Mulish (Google Fonts) is the approved equivalent substitute. */
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-italic.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-italic.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-italic.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-italic.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: italic;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-italic.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-ext-normal.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-cyrillic-normal.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* vietnamese */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-vietnamese-normal.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-latin-ext-normal.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Mulish';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url("fonts/mulish-latin-normal.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root{
  /* ---- Brand primitives ---- */
  --te-red: #c61824;            /* Primärfarbe — Akzent & Aktion */
  --te-red-600: #a5121d;        /* hover / pressed */
  --te-red-700: #85101a;        /* darker */
  --te-red-100: #f7dcde;        /* tint surface */
  --te-red-50:  #fceff0;        /* faint tint */

  --te-gray: #7a767c;           /* Sekundärfarbe */
  --te-gray-600: #615e64;
  --te-gray-400: #a5a2a7;
  --te-gray-200: #d9d7db;
  --te-gray-100: #ecebed;

  /* ---- Neutral scale ---- */
  --white: #ffffff;
  --n-25:  #fafafb;
  --n-50:  #f5f5f6;
  --n-100: #ecebed;
  --n-200: #d9d7db;
  --n-300: #c2bfc4;
  --n-400: #a5a2a7;
  --n-500: #7a767c;
  --n-600: #615e64;
  --n-700: #4a484d;
  --n-800: #323135;
  --n-900: #1c1b1e;

  /* ---- Semantic status ---- */
  --success: #2e7d46;
  --success-100: #e2f0e6;
  --warning: #c77a13;
  --warning-100: #f8ecd8;
  --danger: #c61824;
  --info: var(--te-gray-600);      /* neutral — no sub-brand blue in unified CI */
  --info-100: #ecebed;

  /* ---- Semantic aliases ---- */
  --color-primary: var(--te-red);
  --color-primary-hover: var(--te-red-600);
  --color-primary-active: var(--te-red-700);
  --color-secondary: var(--te-gray);

  --surface-page: var(--white);
  --surface-subtle: var(--n-50);
  --surface-card: var(--white);
  --surface-inverse: var(--n-900);
  --surface-brand: var(--te-red);

  --text-strong: var(--n-900);
  --text-body: var(--n-800);
  --text-muted: var(--n-500);
  --text-on-brand: var(--white);
  --text-link: var(--te-red);
  --text-link-hover: var(--te-red-700);

  --border-subtle: var(--n-200);
  --border-default: var(--n-300);
  --border-strong: var(--n-400);
  --border-brand: var(--te-red);
  --focus-ring: color-mix(in srgb, var(--te-red) 45%, transparent);
}
:root{
  /* Hausschrift Avenir → Mulish (web substitute) */
  --font-sans: "Mulish", "Avenir", "Avenir Next", "Segoe UI", system-ui, -apple-system, sans-serif;
  --font-display: var(--font-sans);

  /* Type scale (1.250 major-third-ish, tuned for B2B clarity) */
  --fs-display: 3.25rem;   /* 52px hero */
  --fs-h1: 2.5rem;         /* 40px */
  --fs-h2: 1.875rem;       /* 30px */
  --fs-h3: 1.375rem;       /* 22px */
  --fs-h4: 1.125rem;       /* 18px */
  --fs-lg: 1.125rem;       /* 18px lead */
  --fs-body: 1rem;         /* 16px */
  --fs-sm: 0.875rem;       /* 14px */
  --fs-xs: 0.75rem;        /* 12px labels */

  --fw-light: 300;      /* @kind font */
  --fw-regular: 400;    /* @kind font */
  --fw-medium: 500;     /* @kind font */
  --fw-semibold: 600;   /* @kind font */
  --fw-bold: 700;       /* @kind font */
  --fw-extrabold: 800;  /* @kind font */

  --lh-tight: 1.1;      /* @kind font */
  --lh-snug: 1.25;      /* @kind font */
  --lh-normal: 1.5;     /* @kind font */
  --lh-relaxed: 1.65;   /* @kind font */

  --ls-tight: -0.02em;  /* @kind font */
  --ls-normal: 0;       /* @kind font */
  --ls-wide: 0.02em;    /* @kind font */
  --ls-caps: 0.08em;    /* @kind font */
}
:root{
  /* 4px base spacing scale */
  --space-0: 0;
  --space-1: 0.25rem;  /* 4 */
  --space-2: 0.5rem;   /* 8 */
  --space-3: 0.75rem;  /* 12 */
  --space-4: 1rem;     /* 16 */
  --space-5: 1.5rem;   /* 24 */
  --space-6: 2rem;     /* 32 */
  --space-7: 3rem;     /* 48 */
  --space-8: 4rem;     /* 64 */
  --space-9: 6rem;     /* 96 */

  --container-max: 1200px;
  --container-narrow: 760px;

  /* Corner radii — restrained, professional */
  --radius-xs: 3px;
  --radius-sm: 5px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --radius-pill: 999px;
}
:root{
  /* Soft, low-spread shadows — subtle depth, never dramatic */
  --shadow-xs: 0 1px 2px rgba(28,27,30,0.06);
  --shadow-sm: 0 1px 3px rgba(28,27,30,0.08), 0 1px 2px rgba(28,27,30,0.04);
  --shadow-md: 0 4px 12px rgba(28,27,30,0.08), 0 2px 4px rgba(28,27,30,0.04);
  --shadow-lg: 0 12px 32px rgba(28,27,30,0.12), 0 4px 8px rgba(28,27,30,0.05);
  --shadow-focus: 0 0 0 3px var(--focus-ring);

  --border-width: 1px;

  /* Motion — quick, functional, no bounce */
  --ease-standard: cubic-bezier(0.2, 0, 0.1, 1); /* @kind other */
  --dur-fast: 120ms;  /* @kind other */
  --dur-base: 180ms;  /* @kind other */
  --dur-slow: 260ms;  /* @kind other */
}


body{margin:0;background:#0b0909}
@keyframes riseIn{from{opacity:0;transform:translateY(30px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideL{from{opacity:0;transform:translateX(-36px)}to{opacity:1;transform:none}}
@keyframes slideR{from{opacity:0;transform:translateX(36px)}to{opacity:1;transform:none}}
@keyframes popIn{0%{opacity:0;transform:scale(.86)}60%{transform:scale(1.03)}100%{opacity:1;transform:scale(1)}}
@keyframes growW{from{width:0}to{width:84px}}
@keyframes drawDown{from{transform:scaleY(0)}to{transform:scaleY(1)}}
@keyframes pulseR{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(198,24,36,.45)}70%{opacity:1;box-shadow:0 0 0 26px rgba(198,24,36,0)}}
@keyframes om-attractL{0%,100%{transform:translate(0,0)}50%{transform:translate(72px,18px)}}
@keyframes om-attractR{0%,100%{transform:translate(0,0)}50%{transform:translate(-72px,-18px)}}
@keyframes om-fall{0%{transform:translateY(-100%)}100%{transform:translateY(100%)}}
@keyframes om-face1{0%,26%{opacity:1}32%,100%{opacity:0}}
@keyframes om-face2{0%,32%{opacity:0}38%,60%{opacity:1}66%,100%{opacity:0}}
@keyframes om-face3{0%,66%{opacity:0}72%,94%{opacity:1}100%{opacity:0}}
@keyframes om-toRed{0%,58%{stroke:#faf8f7}74%,94%{stroke:#c61824}100%{stroke:#faf8f7}}
@keyframes om-toRedFill{0%,58%{fill:rgba(255,255,255,.08)}74%,94%{fill:rgba(198,24,36,.22)}100%{fill:rgba(255,255,255,.08)}}
@keyframes om-drift1{0%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(120px,-70px) rotate(80deg)}50%{transform:translate(210px,60px) rotate(190deg)}75%{transform:translate(70px,120px) rotate(280deg)}100%{transform:translate(0,0) rotate(360deg)}}
@keyframes om-drift2{0%{transform:translate(0,0) rotate(0deg)}25%{transform:translate(-140px,80px) rotate(-90deg)}50%{transform:translate(-60px,-90px) rotate(-200deg)}75%{transform:translate(90px,-40px) rotate(-290deg)}100%{transform:translate(0,0) rotate(-360deg)}}
@keyframes om-drift3{0%{transform:translate(0,0) rotate(0deg)}20%{transform:translate(-90px,-110px) rotate(70deg)}45%{transform:translate(150px,-40px) rotate(160deg)}70%{transform:translate(60px,140px) rotate(250deg)}100%{transform:translate(0,0) rotate(360deg)}}
@keyframes om-drift4{0%{transform:translate(0,0) rotate(0deg)}30%{transform:translate(170px,90px) rotate(-100deg)}55%{transform:translate(-40px,150px) rotate(-180deg)}80%{transform:translate(-130px,-60px) rotate(-280deg)}100%{transform:translate(0,0) rotate(-360deg)}}
@keyframes om-heart{0%,100%{transform:scale(1);opacity:.85}12%{transform:scale(1.08);opacity:1}24%{transform:scale(1);opacity:.9}36%{transform:scale(1.05);opacity:1}48%{transform:scale(1);opacity:.85}}
@keyframes om-packR{0%{left:0;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:100%;opacity:0}}
@keyframes om-packL{0%{left:100%;opacity:0}12%{opacity:1}88%{opacity:1}100%{left:0;opacity:0}}
@keyframes om-gedge{0%{stroke-dashoffset:var(--l);opacity:0}3%{opacity:1}12%{stroke-dashoffset:0;opacity:1}94%{stroke-dashoffset:0;opacity:1}100%{opacity:0}}
@keyframes om-gnode{0%{opacity:0;transform:scale(.2)}5%{opacity:1;transform:scale(1)}94%{opacity:1}100%{opacity:0}}
@keyframes om-qm{0%{opacity:0;transform:translateY(18px) rotate(-8deg) scale(.8)}18%{opacity:.85;transform:translateY(0) rotate(4deg) scale(1)}62%{opacity:.85}100%{opacity:0;transform:translateY(-26px) rotate(10deg) scale(.9)}}
@keyframes om-bubR{0%{opacity:0;transform:translateY(16px) scale(.84)}60%{opacity:1;transform:translateY(0) scale(1.03)}100%{opacity:1;transform:none}}
@keyframes om-bubL{0%{opacity:0;transform:translateY(16px) scale(.84)}60%{opacity:1;transform:translateY(0) scale(1.03)}100%{opacity:1;transform:none}}
@keyframes om-typing{0%{opacity:0}10%{opacity:1}78%{opacity:1;height:66px}100%{opacity:0;height:0;margin-bottom:-18px}}
@keyframes om-dot{0%,65%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-7px);opacity:1}}
@keyframes om-merge{0%,100%{transform:translateX(0) scale(1);opacity:.75}50%{transform:translateX(var(--dx,0)) scale(1.12);opacity:1}}
@keyframes om-teamdot{0%,100%{opacity:.25;transform:scale(.7)}50%{opacity:1;transform:scale(1)}}
@keyframes om-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
@keyframes om-blink{0%,92%,100%{transform:scaleY(1)}96%{transform:scaleY(.1)}}
@keyframes om-pulse{0%,100%{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:1}}
@keyframes om-wave{0%,100%{transform:rotate(0deg)}30%{transform:rotate(-22deg)}60%{transform:rotate(12deg)}}
@keyframes om-think{0%,100%{opacity:.3}50%{opacity:1}}
@keyframes om-await{0%,100%{opacity:.5;transform:translateY(0)}50%{opacity:1;transform:translateY(-5px)}}
@keyframes om-type{0%{transform:scaleX(0)}18%{transform:scaleX(1)}86%{transform:scaleX(1);opacity:1}94%{opacity:0}100%{transform:scaleX(0);opacity:0}}
@keyframes om-build1{0%,4%{opacity:0;transform:scale(.7)}12%{opacity:1;transform:scale(1)}92%{opacity:1}100%{opacity:0}}
@keyframes om-build2{0%,28%{opacity:0;transform:scale(.7)}36%{opacity:1;transform:scale(1)}92%{opacity:1}100%{opacity:0}}
@keyframes om-build3{0%,52%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1)}92%{opacity:1}100%{opacity:0}}
@keyframes om-edge{0%,6%{stroke-dashoffset:var(--l);opacity:0}14%{opacity:1}30%{stroke-dashoffset:0}90%{opacity:1}100%{opacity:0}}
@keyframes om-node{0%,8%{opacity:0;transform:scale(.3)}18%{opacity:1;transform:scale(1)}90%{opacity:1}100%{opacity:0}}
@keyframes shakeX{0%,100%{opacity:1;transform:translateX(0)}20%{transform:translateX(-7px)}40%{transform:translateX(7px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}
section[data-deck-active] [data-anim]{opacity:0;animation-fill-mode:forwards;animation-duration:.62s;animation-timing-function:cubic-bezier(.22,.9,.3,1)}
section[data-deck-active] [data-anim="rise"]{animation-name:riseIn}
section[data-deck-active] [data-anim="fade"]{animation-name:fadeIn}
section[data-deck-active] [data-anim="left"]{animation-name:slideL}
section[data-deck-active] [data-anim="right"]{animation-name:slideR}
section[data-deck-active] [data-anim="pop"]{animation-name:popIn}
section[data-deck-active] [data-anim="bub"]{animation-name:om-bubR;animation-duration:.5s;transform-origin:bottom right}
section[data-deck-active] [data-anim="bubl"]{animation-name:om-bubL;animation-duration:.5s;transform-origin:bottom left}
section[data-deck-active] [data-anim="typing"]{animation-name:om-typing;animation-duration:1.5s}
section[data-deck-active] [data-anim="shake"]{animation-name:shakeX;animation-duration:.75s}
section[data-deck-active] [data-anim="grow"]{opacity:1;animation-name:growW;animation-duration:.7s;animation-delay:.25s}
section[data-deck-active] [data-anim="line"]{opacity:1;transform-origin:top;animation-name:drawDown;animation-duration:.9s;animation-delay:.3s}
section[data-deck-active] [data-beat]{animation-name:om-bubR,om-glowtwo;animation-duration:.5s,3.4s;animation-fill-mode:forwards,none;animation-iteration-count:1,infinite;animation-timing-function:cubic-bezier(.22,.9,.3,1),ease-in-out}
@keyframes om-glowtwo{0%,100%{opacity:1;box-shadow:0 0 26px 4px rgba(255,150,70,.5),0 0 44px 10px rgba(139,92,246,.3)}50%{opacity:1;box-shadow:0 0 44px 10px rgba(255,150,70,.8),0 0 78px 22px rgba(139,92,246,.55)}}
a{color:#c61824;text-decoration:none}
a:hover{color:#8f1019}
