/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/poppins-300-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 300;
  font-display: swap;
  src: url(fonts/poppins-300-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-400-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/poppins-400-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-500-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(fonts/poppins-500-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-600-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/poppins-600-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-700-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/poppins-700-latin.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;
}
/* latin-ext */
@font-face {
  font-family: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/poppins-800-latin-ext.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: 'Poppins';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url(fonts/poppins-800-latin.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;
}

/* ===== Variablen & Reset ===== */
:root{
  --c-red:#D82529; --c-red-dark:#b51d21; --c-black:#1d1d1b; --c-wine:#6b1d22; --c-wine-dark:#4a1418;
  --c-cream:#faf6f0; --c-cream-dark:#f0e9dc; --c-gray:#c8c8c8; --c-gray-light:#e8e8e6;
  --c-text:#2a2a28; --c-muted:#6b6b66;
  --f-display:'Poppins', system-ui, sans-serif; --f-body:'Poppins', system-ui, sans-serif;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body.kanda-site{ margin:0; background:#fff; color:var(--c-text); line-height:1.6; font-family:var(--f-body); }

.kanda-site {
  font-family: var(--f-body);
  color: var(--c-text);
}.kanda-site .page { display: block; }.kanda-site .page.is-active { display: block; }/* ============= Site styles (responsive via container queries) ============= */

/* Make each stage a query container */
/* container-type removed; using class-based modifiers */

/* Default = mobile-first */
.kanda-site {
  --site-pad: 18px;
  --site-max: 100%;
  font-size: 14px;
}.k-h1 { font-family: var(--f-display); font-weight: 700; font-size: 28px; line-height: 1.15; color: var(--c-black); margin: 0 0 14px; letter-spacing: -.02em; }.k-h2 { font-family: var(--f-display); font-weight: 700; font-size: 22px; line-height: 1.2; color: var(--c-black); margin: 0 0 12px; letter-spacing: -.02em; }.k-h3 { font-family: var(--f-display); font-weight: 600; font-size: 17px; line-height: 1.25; color: var(--c-black); margin: 0 0 8px; letter-spacing: -.01em; }.k-eyebrow { font-family: var(--f-body); font-size: 11px; font-weight: 600; letter-spacing: .14em; color: var(--c-red); text-transform: uppercase; margin: 0 0 10px; }.k-lead { font-size: 15px; color: var(--c-text); margin: 0 0 18px; line-height: 1.6; font-weight: 400; }.k-muted { color: var(--c-muted); }/* ============= Header / Nav ============= */
.k-header {
  background: white;
  position: sticky; top: 0; z-index: 10;
  border-bottom: 1px solid var(--c-gray-light);
}.k-header__inner {
  max-width: 1200px; margin: 0 auto;
  padding: 0 var(--site-pad); min-height: 160px;
  display: flex; align-items: center; justify-content: space-between; gap: 18px;
}.k-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  flex-shrink: 1;
  min-width: 0;
  text-decoration: none;
}.k-logo { height: 63px; flex-shrink: 0; line-height: 0; display: block; }.k-logo svg { height: 100%; width: auto; display: block; }.k-headline {
  font-family: var(--f-display);
  font-weight: 700;
  font-size: 17px;
  line-height: 1;
  color: var(--c-wine);
  letter-spacing: -0.025em;
  text-transform: none;
  white-space: nowrap;
  display: inline-block;
  position: relative;
}.k-headline__accent {
  color: var(--c-red);
  font-weight: 800;
  font-style: normal;
  position: relative;
  display: inline-block;
}.k-headline__accent::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -3px;
  height: 2px;
  background: var(--c-red);
  border-radius: 1px;
}.k-nav { display: none; align-items: center; gap: 26px; font-size:14px; font-weight:500; }.k-nav a {
  color: var(--c-wine); text-decoration: none; font-weight: 500; font-size: 14px;
}.k-nav a:hover { color: var(--c-red); }.k-burger { width: 28px; height: 22px; position: relative; cursor: pointer; }.k-burger::before, .k-burger::after, .k-burger span {
  content: ''; position: absolute; left: 0; right: 0; height: 2px;
  background: var(--c-wine); border-radius: 2px;
}.k-burger::before { top: 2px; }.k-burger span { top: 10px; }.k-burger::after { bottom: 2px; }/* ============= Buttons ============= */
.k-btn {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 12px 22px; border-radius: 999px;
  font-family: var(--f-body); font-weight: 600; font-size: 14px;
  text-decoration: none; border: 1px solid transparent;
  cursor: pointer; transition: transform .15s, box-shadow .15s;
}.k-btn--primary { background: var(--c-red); color: white; }.k-btn--primary:hover { background: var(--c-red-dark); transform: translateY(-1px); }.k-btn--secondary { background: var(--c-wine); color: white; }.k-btn--secondary:hover { background: var(--c-wine-dark); }.k-btn--ghost { background: transparent; color: var(--c-wine); border-color: var(--c-wine); }.k-btn--ghost:hover { background: var(--c-wine); color: white; }.k-btn--block { display: flex; justify-content: center; width: 100%; }/* ============= Hero ============= */
.k-hero {
  padding: 32px var(--site-pad) 40px;
  background: linear-gradient(180deg, var(--c-cream) 0%, #fff 100%);
}.k-hero__inner { max-width: 1200px; margin: 0 auto; display: grid; gap: 28px; grid-template-columns: 1fr; align-items: center; }.k-hero__actions { display: flex; flex-wrap: wrap; gap: 10px; }.k-hero__media {
  background-image: url(img/css-01.jpg);
  background-size: cover; background-position: center;
  border-radius: 24px; aspect-ratio: 3/4; min-height: 240px;
  position: relative; overflow: hidden;
  box-shadow: 0 20px 60px rgba(107,29,34,.18);
}/* ============= Sections ============= */
.k-section { padding: 48px var(--site-pad); max-width: 1200px; margin: 0 auto; }.k-section--alt { background: white; max-width: none; }.k-section--alt > .k-section__inner { max-width: 1200px; margin: 0 auto; }.k-section--cream { background: var(--c-cream-dark); max-width: none; }.k-section--cream > .k-section__inner { max-width: 1200px; margin: 0 auto; padding: 48px var(--site-pad); }.k-section__head { text-align: center; max-width: 720px; margin: 0 auto 32px; }.k-section__head .k-h2 { margin-bottom: 10px; }.k-section__head p { color: var(--c-muted); font-size: 16px; margin: 0; }/* ============= Topic cards ============= */
.k-topic-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }.k-topic-card {
  background: white;
  border-radius: 20px;
  border: 1px solid var(--c-gray-light);
  overflow: hidden;
  transition: transform .25s, box-shadow .25s;
  display: flex; flex-direction: column;
}.k-topic-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(107,29,34,.12); }.k-topic-card[data-cat="hilfe"] { --accent: var(--c-red); }.k-topic-card[data-cat="haus"] { --accent: var(--c-black); }.k-topic-card[data-cat="krise"] { --accent: #e09a2b; }.k-topic-card[data-cat="ki"] { --accent: #136e78; }.k-topic-card[data-cat="resilienz"] { --accent: #6b3aa8; }.k-topic-card[data-cat="risiko"] { --accent: #6b3aa8; }.k-topic-card__media {
  aspect-ratio: 16/10;
  background-size: cover; background-position: center;
  position: relative;
}.k-topic-card__media::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,.25) 100%);
}.k-topic-card__body { padding: 22px 24px 26px; display: flex; flex-direction: column; flex: 1; }.k-topic-card__icon {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--c-cream); color: var(--accent, var(--c-red));
  padding: 5px 12px 5px 10px; border-radius: 999px;
  font-size: 12px; font-weight: 600;
  align-self: flex-start;
  margin-bottom: 12px;
  letter-spacing: .02em;
}.k-topic-card p { color: var(--c-text); margin: 0 0 16px; font-size: 14px; line-height: 1.55; flex: 1; }.k-topic-card a {
  color: var(--accent, var(--c-red)); font-weight: 600; text-decoration: none; font-size: 14px;
  display: inline-flex; align-items: center; gap: 6px;
}.k-topic-card a:hover { gap: 10px; }/* ============= USP strip ============= */
.k-usp { display: grid; gap: 14px; grid-template-columns: 1fr 1fr; }.k-usp__item h3 { font-family: var(--f-display); font-size: 16px; color: var(--c-wine); margin: 0 0 4px; }.k-usp__item p { color: var(--c-muted); margin: 0; font-size: 13px; line-height: 1.5; }.k-usp__item::before {
  content: ''; display: block; width: 28px; height: 3px; background: var(--c-red); margin-bottom: 10px; border-radius: 2px;
}/* ============= Course cards ============= */
.k-course-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }.k-course-card {
  background: white; padding: 26px; border-radius: 16px;
  display: flex; flex-direction: column; gap: 14px;
  border: 1px solid var(--c-gray-light);
}.k-course-card__lead { color: var(--c-muted); font-size: 14px; margin: 0; }.k-course-card__meta { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 12px; color: var(--c-muted); }.k-course-card__price { font-family: var(--f-display); font-size: 22px; font-weight: 600; color: var(--c-wine); margin: 0; }.k-course-card__price small { font-size: 13px; font-family: var(--f-body); color: var(--c-muted); font-weight: 400; }.k-bundle {
  background: var(--c-wine); color: white;
  padding: 32px var(--site-pad); margin-top: 30px; border-radius: 16px;
  text-align: center;
}.k-bundle .k-h3 { color: white; }.k-bundle__price { font-family: var(--f-display); font-size: 28px; font-weight: 600; margin: 8px 0 16px; }.k-bundle__strike { text-decoration: line-through; color: rgba(255,255,255,.5); font-size: 18px; margin-right: 8px; }.k-bundle__save { color: #ffd17a; font-size: 14px; margin-left: 8px; font-family: var(--f-body); }/* ============= About teaser ============= */
.k-about { display: grid; grid-template-columns: 1fr; gap: 28px; align-items: center; }.k-about__media {
  background-size: cover; background-position: center;
  aspect-ratio: 4/3; border-radius: 24px;
  box-shadow: 0 20px 60px rgba(107,29,34,.18);
}/* ============= Blog cards ============= */
.k-blog-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }.k-blog-card {
  background: white; border-radius: 18px; overflow: hidden;
  border: 1px solid var(--c-gray-light);
  display: flex; flex-direction: column;
  transition: transform .25s, box-shadow .25s;
}.k-blog-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(107,29,34,.10); }.k-blog-card__img {
  aspect-ratio: 16/10;
  background-size: cover; background-position: center;
  background-color: var(--c-cream);
}.k-blog-card__body { padding: 20px; flex: 1; display: flex; flex-direction: column; }.k-blog-card__cat {
  display: inline-block; padding: 4px 12px; border-radius: 999px;
  font-size: 11px; font-weight: 600; color: var(--c-wine);
  background: var(--c-cream); margin-bottom: 10px; text-transform: uppercase; letter-spacing: .05em;
  align-self: flex-start;
}.k-blog-card[data-cat="hilfe"] .k-blog-card__cat { background: #ffe5e5; color: var(--c-red); }.k-blog-card[data-cat="haus"] .k-blog-card__cat { background: var(--c-gray-light); color: var(--c-black); }.k-blog-card[data-cat="krise"] .k-blog-card__cat { background: #ffe8c2; color: #a67620; }.k-blog-card h3 { font-size: 16px; margin: 0 0 8px; line-height: 1.3; }.k-blog-card p { font-size: 13px; color: var(--c-muted); margin: 0 0 12px; flex: 1; }.k-blog-card__meta { font-size: 11px; color: var(--c-muted); }/* ============= CTA band ============= */
.k-cta-band {
  background: var(--c-wine);
  color: white;
  padding: 48px var(--site-pad);
  text-align: center;
}.k-cta-band .k-h2 { color: white; }.k-cta-band p { color: rgba(255,255,255,.85); margin: 0 auto 22px; max-width: 540px; }.k-cta-band .k-btn--primary { background: var(--c-red); }.k-cta-band .k-btn--ghost { color: white; border-color: white; }.k-cta-band .k-btn--ghost:hover { background: white; color: var(--c-wine); }/* ============= Footer ============= */
.k-footer {
  background: var(--c-cream-dark); color: var(--c-text);
  padding: 48px var(--site-pad) 0;
  font-size: 13px;
  border-top: 4px solid var(--c-wine);
}.k-footer__inner {
  max-width: 1200px; margin: 0 auto;
  display: grid; gap: 30px; grid-template-columns: 1fr; padding-bottom: 40px;
}.k-footer h4 { color: var(--c-wine); font-family: var(--f-body); font-size: 13px; font-weight: 700; margin: 0 0 12px; text-transform: uppercase; letter-spacing: .08em; }.k-footer ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }.k-footer a { color: var(--c-text); text-decoration: none; }.k-footer a:hover { color: var(--c-red); }.k-footer__brand p { font-family: var(--f-display); font-size: 20px; line-height: 1.25; font-weight: 600; color: var(--c-wine); margin: 7px 0 0; }.k-footer__logo { display: inline-block; line-height: 0; }.k-footer__logo svg { height: 116px; width: auto; display: block; }.k-footer__logo img { width: 290px; height: auto; max-width: 100%; display: block; }.k-footer__newsletter input {
  width: 100%; padding: 10px 14px; border-radius: 999px;
  border: 1px solid var(--c-gray-light);
  background: white; color: var(--c-text);
  font-family: var(--f-body); font-size: 13px; margin-bottom: 8px;
}.k-footer__newsletter input::placeholder { color: var(--c-muted); }/* Burgundy-Band (vollflächig) für Copyright + Recht */
.k-footer__legal {
  background: var(--c-wine); color: rgba(255,255,255,.85);
  margin: 0 calc(-1 * var(--site-pad)); padding: 16px var(--site-pad);
}.k-footer__legal-inner {
  max-width: 1200px; margin: 0 auto;
  display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; align-items: center;
  font-size: 12px;
}.k-footer__legal p { margin: 0; }.k-footer__legal ul { list-style: none; padding: 0; margin: 0; display: flex; gap: 18px; flex-direction: row; }.k-footer__legal a { color: rgba(255,255,255,.8); text-decoration: none; }.k-footer__legal a:hover { color: white; }/* ============= Topic page ============= */
.k-breadcrumb { font-size: 12px; color: var(--c-muted); margin-bottom: 14px; }.k-breadcrumb ol { list-style: none; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 6px; }.k-breadcrumb li:not(:last-child)::after { content: ' › '; color: var(--c-gray); padding: 0 4px; }.k-breadcrumb a { color: var(--c-muted); text-decoration: none; }.k-topic-hero {
  padding: 32px var(--site-pad) 24px;
  background: linear-gradient(180deg, var(--c-cream-dark) 0%, var(--c-cream) 100%);
}.k-topic-hero__inner { max-width: 1100px; margin: 0 auto; }.k-topic-hero .k-h1 { max-width: 780px; }.k-topic-hero .k-lead { max-width: 720px; }.k-intro {
  display: grid; gap: 24px; grid-template-columns: 1fr;
}.k-intro__facts {
  background: white; padding: 24px; border-radius: 16px;
  border-left: 4px solid var(--c-red);
}.k-intro__facts h3 { margin-top: 0; }.k-intro__facts ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; font-size: 14px; }.k-intro__facts li::before { content: '✓ '; color: var(--c-red); font-weight: 700; }.k-knowledge { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }.k-knowledge a {
  background: white; padding: 18px; border-radius: 12px;
  text-decoration: none; color: var(--c-wine);
  border: 1px solid var(--c-gray-light);
  display: flex; flex-direction: column; gap: 12px;
  font-size: 13px; line-height: 1.3;
  transition: all .2s;
  min-height: 110px;
}.k-knowledge a:hover { border-color: var(--c-red); transform: translateY(-2px); }.k-knowledge a strong { font-family: var(--f-display); font-weight: 600; font-size: 14px; line-height: 1.2; }.k-knowledge a span { color: var(--c-red); font-size: 12px; font-weight: 600; margin-top: auto; }.k-course-block {
  background: var(--c-wine); color: white;
  padding: 36px var(--site-pad);
  display: grid; gap: 28px; grid-template-columns: 1fr;
  border-radius: 18px;
}.k-course-block .k-h2 { color: white; }.k-course-block .k-eyebrow { color: #ff8a91; }.k-course-block ul { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 6px; font-size: 14px; }.k-course-block ul li::before { content: '✓ '; color: #ffd17a; font-weight: 700; }.k-course-block__buy {
  background: rgba(255,255,255,.06); padding: 24px; border-radius: 12px;
  border: 1px solid rgba(255,255,255,.12);
  text-align: center;
}.k-course-block__buy strong { font-family: var(--f-display); font-size: 36px; display: block; margin-bottom: 12px; }.k-course-block__buy small { display: block; font-size: 12px; color: rgba(255,255,255,.6); margin-top: 12px; }.k-faq { display: grid; gap: 10px; max-width: 800px; margin: 0 auto; }.k-faq details {
  background: white; padding: 16px 20px;
  border-radius: 12px; border: 1px solid var(--c-gray-light);
  cursor: pointer;
}.k-faq summary { font-weight: 600; color: var(--c-wine); list-style: none; position: relative; padding-right: 30px; font-size: 15px; }.k-faq summary::after {
  content: '+'; position: absolute; right: 0; top: -2px;
  font-family: var(--f-display); font-size: 24px; color: var(--c-red); transition: transform .2s;
}.k-faq details[open] summary::after { transform: rotate(45deg); }.k-faq details > p { margin: 12px 0 0; color: var(--c-muted); font-size: 14px; }/* ============= Course detail ============= */
.k-cdetail {
  background: white; border-radius: 18px;
  display: grid; grid-template-columns: 1fr;
  overflow: hidden;
  align-items: center;
  margin-bottom: 24px;
  border: 1px solid var(--c-gray-light);
}/* ===== Login-Pille in der Nav ===== */
.k-nav__login {
  border: 1.5px solid rgba(107,29,34,.35);
  padding: 7px 16px !important; border-radius: 999px;
  font-size: 13px !important; font-weight: 600;
}.k-nav__login:hover { border-color: var(--c-wine); background: rgba(107,29,34,.05); }/* ===== Freebie-Teaser ===== */
.k-free-grid { display: grid; gap: 18px; grid-template-columns: 1fr; }.k-free-card {
  background: white; border: 1px solid var(--c-gray-light); border-radius: 18px;
  padding: 24px 24px 22px; box-shadow: 0 4px 16px rgba(107,29,34,.07);
  display: flex; flex-direction: column; transition: transform .2s, box-shadow .2s;
}.k-free-card:hover { transform: translateY(-4px); box-shadow: 0 16px 40px rgba(107,29,34,.12); }.k-free-card__ic {
  width: 48px; height: 48px; border-radius: 13px; background: var(--c-cream-dark);
  display: flex; align-items: center; justify-content: center; font-size: 23px; margin-bottom: 16px;
}.k-free-card__cat {
  font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--c-muted); margin: 0 0 8px;
}.k-free-card h3 { margin: 0 0 8px; }.k-free-card p { color: var(--c-text); font-size: 14px; line-height: 1.55; margin: 0 0 16px; flex: 1; }.k-free-card__dl {
  font-size: 14px; font-weight: 600; color: var(--c-red); text-decoration: none;
  display: inline-flex; align-items: center; gap: 9px;
}.k-free-card__dl::before {
  content: '↓'; font-weight: 800; width: 22px; height: 22px; border-radius: 50%;
  background: rgba(226,6,19,.1); display: inline-flex; align-items: center; justify-content: center;
}.k-free-card__dl:hover { color: var(--c-red-dark); }/* ===== All-Access: Stat-Reihe ===== */
.k-aa-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }.k-aa-stat {
  background: white; border: 1px solid var(--c-gray-light); border-radius: 16px;
  padding: 22px 18px; text-align: center; box-shadow: 0 4px 16px rgba(107,29,34,.06);
}.k-aa-stat b { display: block; font-family: var(--f-display); font-size: 30px; font-weight: 700; color: var(--c-wine); line-height: 1; }.k-aa-stat span { display: block; font-size: 12.5px; color: var(--c-muted); margin-top: 6px; }/* ===== All-Access: Im-Pass-Badge auf Kurskarten ===== */
.k-incl-badge {
  display: inline-flex; align-items: center; gap: 7px; margin-top: auto;
  font-size: 12.5px; font-weight: 600; color: var(--c-wine);
  background: var(--c-cream-dark); padding: 8px 14px; border-radius: 999px; align-self: flex-start;
}.k-incl-badge::before { content: '✓'; color: var(--c-red); font-weight: 800; }/* ===== All-Access: Inhaltsverzeichnis (Kapitel-Liste) ===== */
.k-toc-grid { display: grid; gap: 12px; grid-template-columns: 1fr; }.k-toc-item {
  display: flex; align-items: flex-start; gap: 14px;
  background: white; border: 1px solid var(--c-gray-light); border-radius: 14px;
  padding: 15px 18px; transition: transform .15s, box-shadow .15s;
}.k-toc-item:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(107,29,34,.09); }.k-toc-item__num {
  font-family: var(--f-display); font-weight: 700; color: var(--c-red);
  font-size: 17px; min-width: 26px; line-height: 1.4;
}.k-toc-item__body { flex: 1; }.k-toc-item__body h4 { margin: 0 0 3px; font-size: 14.5px; color: var(--c-black); font-weight: 600; line-height: 1.3; }.k-toc-item__body p { margin: 0; font-size: 12px; color: var(--c-muted); line-height: 1.4; }.k-toc-item__count {
  align-self: center; font-size: 11px; font-weight: 700; color: var(--c-wine);
  background: var(--c-cream-dark); padding: 5px 10px; border-radius: 999px; white-space: nowrap;
}/* ===== Downloads: Themen-Filter ===== */
.k-dl-filter { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-bottom: 32px; }.k-dl-chip {
  font-family: var(--f-body); font-size: 13.5px; font-weight: 600; cursor: pointer;
  padding: 9px 18px; border-radius: 999px; border: 1.5px solid var(--c-gray-light);
  background: white; color: var(--c-wine); transition: .15s;
}.k-dl-chip:hover { border-color: var(--c-wine); }.k-dl-chip.is-active { background: var(--c-wine); color: white; border-color: var(--c-wine); }.k-free-card.is-hidden { display: none; }/* ===== Themen-Akzentfarben ===== */
/* Startseiten-Karten: Farbbalken oben (nutzt vorhandenes --accent je data-cat) */
.k-topic-card { position: relative; }.k-topic-card::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 5px;
  background: var(--accent, var(--c-red)); z-index: 2;
}/* Themenseiten: Akzent je Thema (Amber als Fläche, dunkleres Ocker für Text) */
.page-topic-hilfe { --accent: #D82529; --accent-ink: #D82529; --accent-fg: #fff; }.page-topic-haus { --accent: #1d1d1b; --accent-ink: #1d1d1b; --accent-fg: #fff; }.page-topic-krise { --accent: #e09a2b; --accent-ink: #a86410; --accent-fg: #1d1d1b; }.page-topic-ki { --accent: #136e78; --accent-ink: #0d545c; --accent-fg: #fff; }.page-topic-resilienz { --accent: #6b3aa8; --accent-ink: #4f2a7d; --accent-fg: #fff; }.page-topic-risiko { --accent: #6b3aa8; --accent-ink: #4f2a7d; --accent-fg: #fff; }.page-topic .k-topic-hero .k-eyebrow { color: var(--accent-ink); }.page-topic .k-topic-hero .k-btn--primary {
  background: var(--accent); color: var(--accent-fg); border-color: var(--accent);
}.page-topic .k-topic-hero .k-btn--primary:hover { filter: brightness(.93); transform: translateY(-1px); }.page-topic .k-section__head .k-h2::after {
  content: ''; display: block; width: 46px; height: 3px; border-radius: 2px;
  background: var(--accent); margin: 12px auto 0;
}.page-topic .k-knowledge a { border-left: 3px solid var(--accent); }.page-topic .k-knowledge a span { color: var(--accent-ink); font-weight: 600; }.page-topic .k-knowledge a:hover {
  border-color: var(--c-gray-light); border-left-color: var(--accent); transform: translateY(-2px);
}.k-cdetail__media {
  background: var(--c-wine);
  background-size: cover; background-position: center;
  aspect-ratio: 1 / 1;
  min-height: 0;
  position: relative;
}.k-cdetail__media::before {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,0) 60%, rgba(0,0,0,.10));
}.k-cdetail__media::after {
  content: '▶'; position: absolute; top:50%; left:50%; transform: translate(-50%,-50%);
  font-size: 24px; padding-left: 3px;
  background: rgba(20,20,20,.42); width: 64px; height: 64px;
  border-radius: 50%; display: grid; place-items: center;
  color: #fff;
  box-shadow: 0 8px 24px rgba(0,0,0,.35), inset 0 0 0 2px rgba(255,255,255,.85);
}.k-cdetail__media--video { background: #000; }
.k-cdetail__media--video::before, .k-cdetail__media--video::after { display: none; }
.k-cdetail__video { width: 100%; height: 100%; object-fit: contain; display: block; }.k-cdetail__body { padding: 28px; }.k-cdetail__modules { padding-left: 18px; margin: 14px 0 18px; font-size: 14px; color: var(--c-text); display: grid; gap: 6px; }.k-cdetail__buy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 14px; padding-top: 20px; border-top: 1px solid var(--c-gray-light); }.k-cdetail__price { font-family: var(--f-display); font-size: 30px; font-weight: 600; color: var(--c-wine); margin: 0; }/* ============= Blog filters ============= */
.k-blog-filter { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 24px; }.k-blog-filter button {
  background: white; border: 1px solid var(--c-gray-light); border-radius: 999px;
  padding: 8px 16px; font-size: 13px; cursor: pointer; font-family: var(--f-body); color: var(--c-wine); font-weight: 500;
}.k-blog-filter button.is-active { background: var(--c-wine); color: white; border-color: var(--c-wine); }.k-pagination { display: flex; justify-content: center; gap: 6px; margin-top: 32px; }.k-pagination a, .k-pagination span {
  display: grid; place-items: center; min-width: 36px; height: 36px; border-radius: 50%;
  text-decoration: none; color: var(--c-wine); font-weight: 500; font-size: 14px;
}.k-pagination .is-current { background: var(--c-wine); color: white; }/* ============= About ============= */
.k-mission {
  background: var(--c-cream-dark);
  padding: 36px; border-radius: 16px;
  text-align: center; max-width: 820px; margin: 0 auto;
}.k-values { display: grid; gap: 16px; grid-template-columns: 1fr 1fr; }.k-values__item {
  background: white; padding: 22px; border-radius: 14px;
  border: 1px solid var(--c-gray-light);
}.k-values__item h3 { margin: 0 0 6px; }.k-values__item p { font-size: 13px; color: var(--c-muted); margin: 0; }/* ===== Über uns: Versprechen ===== */
.k-promise { list-style: none; padding: 0; margin: 0 auto; max-width: 560px; display: grid; gap: 12px; }.k-promise li {
  background: white; border: 1px solid var(--c-gray-light); border-radius: 12px;
  padding: 14px 18px 14px 46px; position: relative; font-size: 15px; font-weight: 500; color: var(--c-black);
}.k-promise li::before {
  content: '✓'; position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
  color: var(--c-red); font-weight: 800;
}.k-promise__close { text-align: center; max-width: 620px; margin: 26px auto 0; color: var(--c-wine); font-weight: 600; font-size: 16px; }.k-team { display: grid; gap: 18px; grid-template-columns: 1fr; }.k-team__card {
  background: white; border-radius: 16px; overflow: hidden;
  border: 1px solid var(--c-gray-light);
}.k-team__photo {
  aspect-ratio: 4/3;
  background-size: cover; background-position: center top;
}.k-team__body { padding: 18px; }.k-team__role { font-size: 13px; color: var(--c-red); font-weight: 600; margin: 0 0 8px; }.k-team__body p { font-size: 13px; margin: 0; color: var(--c-muted); }.k-partners {
  display: flex; flex-wrap: wrap; gap: 16px; justify-content: center; margin-top: 24px;
}.k-partners span {
  background: white; padding: 16px 28px; border-radius: 8px;
  font-size: 13px; color: var(--c-muted); border: 1px dashed var(--c-gray);
}/* ============= Contact ============= */
.k-contact { display: grid; gap: 28px; grid-template-columns: 1fr; }.k-contact__info {
  background: var(--c-cream-dark); padding: 28px; border-radius: 16px;
}.k-contact__info ul { list-style: none; padding: 0; margin: 0; display: grid; gap: 16px; }.k-contact__info dt { font-size: 11px; color: var(--c-muted); text-transform: uppercase; letter-spacing: .08em; font-weight: 600; margin-bottom: 4px; }.k-contact__info dd { margin: 0; font-size: 14px; color: var(--c-wine); font-weight: 500; }.k-contact__urgent {
  background: white; padding: 16px; border-radius: 10px;
  border-left: 4px solid var(--c-red);
  margin-top: 20px; font-size: 13px;
}.k-contact__urgent strong { font-size: 18px; color: var(--c-red); }.k-form {
  background: white; padding: 28px; border-radius: 16px;
  border: 1px solid var(--c-gray-light);
  display: grid; gap: 14px;
}.k-form .k-h2 { margin-top: 0; }.k-form label { display: block; font-size: 13px; font-weight: 600; color: var(--c-wine); margin-bottom: 6px; }.k-form input, .k-form select, .k-form textarea {
  width: 100%; padding: 10px 14px; border-radius: 10px;
  border: 1px solid var(--c-gray-light); font-family: var(--f-body); font-size: 14px;
  background: var(--c-cream);
}.k-form input:focus, .k-form select:focus, .k-form textarea:focus { outline: 2px solid var(--c-red); outline-offset: 2px; border-color: transparent; }.k-form textarea { resize: vertical; min-height: 100px; }.k-form__check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; color: var(--c-muted); }.k-form__check input { width: auto; margin-top: 3px; }.k-imgband { aspect-ratio: 16/9; max-height: 420px; width: 100%; background-size: cover; background-position: center; border-radius: 20px; box-shadow: 0 16px 44px rgba(107,29,34,.14); }.k-contact__photo { aspect-ratio: 16/9; border-radius: 12px; background-size: cover; background-position: center; margin-bottom: 20px; box-shadow: 0 8px 24px rgba(107,29,34,.12); }

/* ===== Navigation: Dropdown + Mobil-Menü ===== */
.k-burger{ background:none; border:none; padding:0; }
.k-nav__group{ position:relative; }
.k-nav__toggle{ background:none; border:none; font:inherit; color:inherit; cursor:pointer; padding:0; display:inline-flex; align-items:center; gap:4px; }
.k-nav__toggle:hover{ color:var(--c-red); }
.k-nav__menu{ display:none; position:absolute; top:calc(100% + 10px); left:0; background:#fff; box-shadow:0 14px 34px rgba(107,29,34,.16); border-radius:12px; padding:8px; min-width:260px; z-index:60; }
.k-nav__menu a{ display:block; padding:9px 12px; border-radius:8px; white-space:nowrap; font-weight:500; }
.k-nav__menu a:hover{ background:var(--c-cream); color:var(--c-red); }
.k-nav__group:hover .k-nav__menu, .k-nav__group.is-open .k-nav__menu{ display:block; }
@media (min-width:1100px){ .k-nav__group::after{ content:""; position:absolute; left:0; top:100%; width:260px; height:12px; } }
@media (max-width:1099px){
  .k-header__inner{ position:relative; }
  .k-nav{ position:absolute; top:100%; left:0; right:0; flex-direction:column; align-items:stretch; gap:0;
          background:#fff; padding:8px 18px 18px; box-shadow:0 18px 34px rgba(107,29,34,.16); }
  .k-nav.is-open{ display:flex; }
  .k-nav > a, .k-nav__toggle{ padding:13px 4px; border-bottom:1px solid var(--c-gray-light); width:100%; text-align:left; }
  .k-nav__group{ border-bottom:1px solid var(--c-gray-light); }
  .k-nav__group .k-nav__toggle{ border-bottom:none; }
  .k-nav__menu{ position:static; box-shadow:none; padding:0 0 8px 14px; min-width:0; }
  .k-nav__group.is-open .k-nav__menu{ display:block; }
  .k-nav .k-btn{ margin-top:12px; text-align:center; }
  .k-nav__login{ border-bottom:none !important; }
}


/* ===== Desktop (>=980px) ===== */
@media (min-width: 980px) {
.kanda-site {
  --site-pad: 48px;
  font-size: 15px;
}
.k-h1 { font-size: 56px; line-height: 1.05; font-weight: 800; }
.k-h2 { font-size: 38px; }
.k-h3 { font-size: 22px; }
.k-eyebrow { font-size: 12px; }
.k-lead { font-size: 17px; }
.k-brand {
  flex-direction: row;
  align-items: center;
  gap: 22px;
}
.k-nav { display: flex; }
.k-burger { display: none; }
.k-logo { height: 115px; }
.k-headline {
  font-size: 30px;
  letter-spacing: -0.03em;
}
.k-headline__accent::after {
  bottom: -5px;
  height: 3px;
  border-radius: 2px;
}
.k-hero { padding: 80px var(--site-pad) 100px; }
.k-hero__inner { grid-template-columns: 1.15fr 1fr; gap: 60px; }
.k-section { padding: 80px var(--site-pad); }
.k-section--cream > .k-section__inner { padding: 80px var(--site-pad); }
.k-topic-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
.k-usp { grid-template-columns: repeat(4, 1fr); gap: 24px; }
.k-course-grid { grid-template-columns: repeat(2, 1fr); gap: 22px; }
.k-about { grid-template-columns: 1fr 1fr; gap: 60px; }
.k-blog-grid { grid-template-columns: repeat(3, 1fr); }
.k-footer__inner { grid-template-columns: 1.5fr 1fr 1fr 1.5fr; gap: 48px; }
.k-topic-hero { padding: 70px var(--site-pad) 60px; }
.k-intro { grid-template-columns: 1.6fr 1fr; gap: 48px; }
.k-knowledge { grid-template-columns: repeat(4, 1fr); gap: 16px; }
.k-course-block { grid-template-columns: 1.6fr 1fr; gap: 50px; padding: 56px; align-items: center; }
.k-cdetail { grid-template-columns: 1fr 1.4fr; }
.k-free-grid { grid-template-columns: repeat(3, 1fr); gap: 22px; }
.k-aa-stats { grid-template-columns: repeat(4, 1fr); gap: 22px; }
.k-toc-grid { grid-template-columns: 1fr 1fr; gap: 14px 26px; }
.k-values { grid-template-columns: repeat(4, 1fr); gap: 24px; }
.k-values--3 { grid-template-columns: repeat(3, 1fr); }
.k-team { grid-template-columns: repeat(3, 1fr); gap: 28px; }
.k-contact { grid-template-columns: 1fr 1.3fr; gap: 48px; }
}

/* ===== Artikel-Seite (Wissen) ===== */
.k-article{ background:#fff; }
.k-article__head{ background:linear-gradient(180deg, var(--c-cream-dark) 0%, var(--c-cream) 100%); padding:30px var(--site-pad) 26px; }
.k-article__head-inner{ max-width:1100px; margin:0 auto; }
.k-article__cat{ display:inline-block; font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; padding:5px 12px; border-radius:999px; color:#fff; margin-bottom:14px; }
.k-article__cat--hilfe{ background:var(--c-red); }.k-article__cat--ki{ background:#136e78; }.k-article__cat--resilienz{ background:#6b3aa8; }.k-article__cat--risiko{ background:#6b3aa8; }
.k-article__cat--haus{ background:var(--c-black); }
.k-article__cat--krise{ background:#e09a2b; color:var(--c-black); }
.k-article__head .k-h1{ max-width:820px; }
.k-article__meta{ font-size:13px; color:var(--c-muted); margin:8px 0 0; }
.k-article__head .k-lead{ max-width:760px; margin:16px 0 0; }
.k-article__layout{ max-width:1100px; margin:0 auto; padding:26px var(--site-pad) 8px; }
.k-article__body{ max-width:720px; }
.k-article__body p{ font-size:16px; line-height:1.7; margin:0 0 16px; }
.k-article__body h2{ font-family:var(--f-display); font-weight:700; font-size:23px; color:var(--c-black); margin:34px 0 12px; letter-spacing:-.02em; scroll-margin-top:20px; }
.k-article__body h3{ font-family:var(--f-display); font-weight:600; font-size:18px; color:var(--c-black); margin:22px 0 8px; }
.k-article__body ul, .k-article__body ol{ margin:0 0 16px; padding-left:22px; }
.k-article__body li{ font-size:16px; line-height:1.6; margin:0 0 7px; }
.k-article__body a{ color:var(--c-red); }
.k-article__body strong{ color:var(--c-black); }
.k-keybox{ background:var(--c-cream); border-left:4px solid var(--c-wine); border-radius:0 10px 10px 0; padding:16px 20px 18px; margin:0 0 26px; }
.k-keybox h2{ margin:0 0 8px !important; font-size:17px !important; }
.k-keybox ul, .k-keybox ol, .k-keybox p:last-child{ margin-bottom:0; }
.k-disclaimer{ font-size:13px; color:var(--c-muted); background:var(--c-cream-dark); border-radius:8px; padding:11px 15px; margin:0 0 24px; }
.k-ctabox{ background:var(--c-wine); color:#fff; border-radius:14px; padding:22px 24px; margin:32px 0; }
.k-ctabox h2{ color:#fff !important; margin:0 0 8px !important; font-size:20px !important; }
.k-ctabox p{ color:rgba(255,255,255,.92); }
.k-ctabox strong{ color:#fff; }
.k-cta-actions{ display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.k-ctabox .k-btn--primary{ background:var(--c-red); color:#fff; }
.k-ctabox .k-btn--ghost{ border:1px solid rgba(255,255,255,.6); color:#fff; }
.k-related{ border-top:1px solid var(--c-gray-light); margin-top:30px; padding-top:16px; font-size:15px; }
.k-related a{ color:var(--c-red); font-weight:600; }
.k-sources{ margin:30px 0 0; border-top:1px solid var(--c-gray-light); padding-top:14px; }
.k-sources summary{ cursor:pointer; font-weight:700; font-size:14px; color:var(--c-wine); }
.k-sources__inner{ padding-top:10px; }
.k-sources p, .k-sources li{ font-size:13px !important; color:var(--c-muted); line-height:1.55; }
.k-sources ul{ padding-left:18px; margin:8px 0 0; }
.k-sources a{ color:var(--c-muted); }
@media (min-width:1100px){
  .k-article__layout{ display:grid; grid-template-columns:230px 1fr; gap:48px; align-items:start; padding-top:34px; }
  .k-toc{ position:sticky; top:24px; font-size:13px; }
  .k-toc__title{ font-weight:700; text-transform:uppercase; letter-spacing:.1em; font-size:11px; color:var(--c-muted); margin:0 0 10px; }
  .k-toc ol{ list-style:none; margin:0; padding:0; display:grid; gap:7px; border-left:2px solid var(--c-gray-light); }
  .k-toc a{ color:var(--c-text); text-decoration:none; padding-left:14px; margin-left:-2px; border-left:2px solid transparent; display:block; line-height:1.35; }
  .k-toc a:hover{ color:var(--c-red); border-left-color:var(--c-red); }
}
.k-toc{ display:none; }
@media (min-width:1100px){ .k-toc{ display:block; } }
.k-ctabox .k-btn{ color:#fff; }
.k-ctabox .k-btn--primary{ background:var(--c-red); color:#fff; }
.k-ctabox .k-btn--ghost{ background:transparent; border:1px solid rgba(255,255,255,.6); color:#fff; }
.k-ctabox .k-btn--ghost:hover{ background:#fff; color:var(--c-wine); }
.k-ctabox strong{ color:#fff; }

/* === Partner: Björn Steiger Stiftung === */
.k-footer__partner{border-top:1px solid rgba(107,29,34,.14);margin-top:8px;padding:18px var(--site-pad) 30px;display:flex;justify-content:center}
.k-footer__partner-link{display:inline-flex;align-items:center;gap:12px;text-decoration:none;opacity:.85;transition:opacity .15s}
.k-footer__partner-link:hover{opacity:1}
.k-footer__partner-label{font-family:var(--f-body);font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--c-muted)}
.k-footer__partner-link img{height:28px;width:auto;display:block}
.k-partner-band__inner{display:flex;align-items:center;gap:28px;background:var(--c-cream-dark);border-left:4px solid var(--c-wine);border-radius:10px;padding:24px 28px}
.k-partner-band__logo{flex:0 0 auto;display:block}
.k-partner-band__logo img{height:60px;width:auto;display:block}
.k-partner-band__label{display:block;font-family:var(--f-body);font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--c-wine);margin-bottom:6px}
.k-partner-band__text p{margin:0 0 8px;color:var(--c-text);font-size:15px;line-height:1.55}
.k-partner-band__more{font-weight:600;color:var(--c-red);text-decoration:none}
.k-partner-band__more:hover{text-decoration:underline}
@media (max-width:700px){.k-partner-band__inner{flex-direction:column;align-items:flex-start;gap:16px}.k-partner-band__logo img{height:48px}}
/* === USP-Karten (Startseite) === */
.k-usp{gap:20px}
.k-usp__item{background:#fff;border:1px solid rgba(107,29,34,.08);border-radius:14px;padding:26px 22px;box-shadow:0 6px 20px rgba(107,29,34,.06);transition:transform .15s ease, box-shadow .15s ease}
.k-usp__item:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(107,29,34,.12)}
.k-usp__item::before{content:none}
.k-usp__icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:rgba(226,6,19,.08);color:var(--c-red);margin-bottom:14px}
.k-usp__icon svg{width:26px;height:26px;display:block}
.k-usp__item h3{font-size:17px;margin:0 0 6px}
.k-usp__item p{font-size:13.5px}
@media (max-width:680px){.k-usp{gap:12px}.k-usp__item{padding:16px 14px;border-radius:12px}.k-usp__icon{width:38px;height:38px;border-radius:10px;margin-bottom:10px}.k-usp__icon svg{width:20px;height:20px}.k-usp__item h3{font-size:15px;margin:0 0 4px;line-height:1.25;hyphens:auto;-webkit-hyphens:auto}.k-usp__item p{font-size:12.5px;line-height:1.45;hyphens:auto;-webkit-hyphens:auto}}
/* === Einheitliches Vertikalraster: doppelte Section-Polsterung neutralisieren (global) === */
.k-section .k-section__inner{padding-top:0;padding-bottom:0}
/* Header-CTA „All-Access-Pass": weisse Schrift auf Rot (statt Burgund aus .k-nav a) */
header a.k-btn--primary{color:#fff}
/* Blog-/Wissens-Karten: ganze Karte ist ein Link \u2013 Texte nicht unterstreichen */
.k-blog-card{text-decoration:none}
/* === Rechtstexte (Impressum/Datenschutz) === */
.k-legal{font-size:15px;line-height:1.7;color:var(--c-text)}
.k-legal h2{font-family:var(--f-display);font-size:19px;color:var(--c-wine);margin:30px 0 8px;line-height:1.35}
.k-legal h2:first-child{margin-top:0}
.k-legal h3{font-size:15px;font-weight:700;color:var(--c-black);margin:18px 0 4px}
.k-legal p{margin:0 0 12px}
.k-legal ul,.k-legal ol{margin:0 0 14px;padding-left:22px}
.k-legal li{margin:0 0 6px}
.k-legal a{color:var(--c-red);text-decoration:underline;word-break:break-word}
.k-legal strong{color:var(--c-black)}
.k-legal blockquote{margin:16px 0;padding:12px 16px;background:var(--c-cream-dark);border-left:3px solid var(--c-wine);border-radius:6px}
.k-legal blockquote p{margin:0;font-size:14px;color:var(--c-muted)}
/* === Download-Karten: Kategorie-Pillen wie Blog/Wissen (exakt) === */
.k-free-card .k-free-card__cat{display:inline-block;align-self:flex-start;flex:0 0 auto;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:600;line-height:1.45;letter-spacing:.05em;text-transform:uppercase;color:var(--c-wine);background:var(--c-cream);margin:0 0 10px}
.k-free-card[data-cat="hilfe"] .k-free-card__cat{background:#ffe5e5;color:var(--c-red)}
.k-free-card[data-cat="haus"] .k-free-card__cat{background:var(--c-gray-light);color:var(--c-black)}
.k-free-card[data-cat="krise"] .k-free-card__cat{background:#ffe8c2;color:#a67620}

/* === 4. Kurs: Petrol-Akzent === */
.k-course-card__cat{font:600 11px/1 var(--f-display);letter-spacing:1.5px;text-transform:uppercase;color:var(--c-muted);margin:0 0 6px}
.k-course-card--petrol{border-top:4px solid #136e78}
.k-course-card--petrol .k-course-card__cat{color:#136e78}
.k-cdetail--petrol .k-eyebrow{color:#136e78}

/* === Sicherheits-Check-Block Startseite === */
.k-checkblock{display:grid;grid-template-columns:1fr;gap:28px;align-items:center;background:#fff;border-radius:18px;padding:36px;box-shadow:0 6px 24px rgba(107,29,34,.06)}
.k-checkblock__text .k-eyebrow{color:var(--c-red)}
.k-checkblock__text p{color:var(--c-muted);margin:10px 0 18px;line-height:1.55}
.k-checkblock__usp{list-style:none;padding:0;margin:0 0 22px;display:grid;gap:10px}
.k-checkblock__usp li{padding-left:22px;position:relative;font-size:14px;color:var(--c-text)}
.k-checkblock__usp li::before{content:"✓";position:absolute;left:0;color:var(--c-red);font-weight:700}
.k-checkblock__usp strong{font-weight:600}
.k-checkblock__visual{display:flex;justify-content:center}
@media (min-width:900px){.k-checkblock{grid-template-columns:1.5fr 1fr;padding:48px 56px;gap:48px}}

/* === Header-Logo (Schriftzug SVG) === */
.k-brand{display:inline-flex;align-items:center;line-height:0}
.k-brand-logo{height:28px;width:auto;display:block}
@media (min-width:1100px){.k-brand-logo{height:48px}}

/* === Kurskarten: Akzentfarben-Modifier (Kategorie-Label + Border-Top) === */
.k-course-card--red{border-top:4px solid #D82529}
.k-course-card--red .k-course-card__cat{color:#D82529}
.k-course-card--black{border-top:4px solid #1d1d1b}
.k-course-card--black .k-course-card__cat{color:#1d1d1b}
.k-course-card--amber{border-top:4px solid #e09a2b}
.k-course-card--amber .k-course-card__cat{color:#e09a2b}

@media (max-width:1099px){.k-brand{flex-direction:row;align-items:center;align-self:stretch}}

/* === Header-Layout: Professionalisierung === */
@media (max-width:1099px){
  .k-header__inner{ padding: 48px var(--site-pad) 34px; min-height: 0; }
}
/* Nav-Links (Desktop): einheitliche Größe & Weight */
@media (min-width:1100px){
  .k-nav > a, .k-nav__toggle{ font-size:14px; font-weight:500; line-height:1; }
}
/* Login-Button harmonisieren */
.k-nav__login{ padding:9px 18px !important; }
/* All-Access-CTA im Header präsenter */
.k-nav .k-btn--primary{ padding:10px 22px !important; font-size:14px !important; font-weight:600 !important; }

/* Header-Nav-Buttons: konsistente Höhen durch line-height:1 */
.k-nav__login, .k-nav .k-btn--primary{ line-height:1; display:inline-flex; align-items:center; }

/* === VARIANTE D: Hamburger auf allen Breiten === */
.k-brand .k-brand-logo{ height:28px !important; width:auto; display:block }
@media(min-width:1100px){ .k-brand .k-brand-logo{ height:48px !important } }
@media(min-width:1100px){
  .k-nav{ display:flex !important; gap:14px; align-items:center; }
  .k-nav > a:not(.k-nav__login):not(.k-btn), .k-nav > .k-nav__group{ display:none !important; }
  .k-burger{ display:inline-flex !important; align-items:center; justify-content:center; margin-left:6px;
             width:44px; height:44px; padding:0; background:none; border:1px solid rgba(29,29,27,.15); border-radius:8px; cursor:pointer; position:relative; }
  .k-burger::before, .k-burger::after, .k-burger span{ position:absolute; left:11px; right:11px; height:2px; background:#1d1d1b; border-radius:2px; content:""; }
  .k-burger::before{ top:14px } .k-burger span{ top:21px } .k-burger::after{ bottom:14px }
}
/* Aufklapp-Panel (Desktop): rechts unter dem Header */
@media(min-width:1100px){
  .k-desknav{ display:none; position:absolute; top:100%; right:0; width:min(360px,90vw);
              background:#fff; box-shadow:0 22px 44px rgba(107,29,34,.18); border-radius:14px;
              padding:18px 20px 22px; margin-top:8px; z-index:80; }
  .k-desknav.is-open{ display:block; }
  .k-desknav a, .k-desknav button.k-desknav__toggle{
    display:block; width:100%; text-align:left; padding:11px 6px; border-bottom:1px solid #f0eae2;
    color:#1d1d1b; font-weight:500; font-size:15px; text-decoration:none; background:none; border-left:0; border-right:0; border-top:0; cursor:pointer; font-family:inherit;
  }
  .k-desknav a:hover, .k-desknav button.k-desknav__toggle:hover{ color:#D82529 }
  .k-desknav__submenu{ display:none; padding:6px 0 8px 14px }
  .k-desknav__submenu a{ padding:8px 6px; font-size:14px; font-weight:400; border-bottom:0; }
  .k-desknav__group.is-open .k-desknav__submenu{ display:block }
  .k-desknav__toggle::after{ content:"▾"; float:right; opacity:.6; font-size:12px; margin-top:4px }
}
@media(max-width:1099px){ .k-desknav{ display:none !important } }

/* ===== Gratis-Workbooks (Leadmagnete Startseite) ===== */
.k-workbooks{background:var(--c-cream-dark)}
.k-wb-grid{display:grid;grid-template-columns:1fr;gap:24px;margin-top:6px}
.k-wb-card{--wb-accent:var(--c-wine);background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 8px 30px rgba(107,29,34,.09);display:grid;grid-template-columns:1fr;border-top:4px solid var(--wb-accent);transition:transform .25s ease,box-shadow .25s ease}
.k-wb-card:hover{transform:translateY(-4px);box-shadow:0 18px 44px rgba(107,29,34,.14)}
.k-wb-card[data-topic="haus"]{--wb-accent:var(--c-black)}
.k-wb-card[data-topic="ki"]{--wb-accent:#136e78}
.k-wb-card__cover{background:linear-gradient(150deg,#f4ede3,#e9dfd0);padding:30px 24px 26px;display:flex;justify-content:center;align-items:flex-start}
.k-wb-card__cover img{width:158px;height:auto;border-radius:4px;box-shadow:0 14px 32px rgba(29,29,27,.24);transform:perspective(1000px) rotateY(-8deg) rotate(-1deg);transition:transform .3s ease}
.k-wb-card:hover .k-wb-card__cover img{transform:perspective(1000px) rotateY(-3deg) rotate(0)}
.k-wb-card__body{padding:22px 24px 26px;display:flex;flex-direction:column}
.k-wb-card__badge{align-self:flex-start;display:inline-block;padding:4px 12px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fff;background:var(--wb-accent);margin:0 0 12px}
.k-wb-card__cat{font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--wb-accent);margin:0 0 6px}
.k-wb-card__body h3{margin:0 0 10px}
.k-wb-card__body>p{color:var(--c-text);font-size:14px;line-height:1.55;margin:0 0 14px}
.k-wb-card__body p.k-wb-card__meta{font-size:12.5px;color:var(--c-muted);margin:0 0 18px}
.k-wb-card__body .k-btn{align-self:flex-start;margin-top:auto}
@media (min-width:980px){
  .k-wb-grid{grid-template-columns:1fr 1fr;gap:28px}
  .k-wb-card{grid-template-columns:196px 1fr}
  .k-wb-card__cover{padding:26px 16px}
  .k-wb-card__cover img{width:150px}
  .k-wb-card__body{padding:26px 26px 26px 22px}
}

/* ===== Premium-Kurskarten Startseite (k-ccard, entkoppelt von k-course-card) ===== */
.k-ccard-grid{display:grid;grid-template-columns:1fr;gap:20px}
.k-ccard{--acc:#6b1d22;--acc-fg:#fff;--acc-soft:#f3ece4;position:relative;overflow:hidden;background:#fff;border:1px solid #ece7df;border-radius:20px;padding:30px 30px 26px;display:flex;flex-direction:column;gap:13px;box-shadow:0 4px 14px rgba(107,29,34,.05);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.k-ccard::before{content:"";position:absolute;top:-46px;right:-46px;width:190px;height:190px;border-radius:50%;background:radial-gradient(circle,var(--acc-soft),rgba(255,255,255,0) 68%);pointer-events:none}
.k-ccard:hover{transform:translateY(-6px);box-shadow:0 22px 50px rgba(107,29,34,.13);border-color:var(--acc)}
.k-ccard[data-topic="hilfe"]{--acc:#D82529;--acc-fg:#fff;--acc-soft:#fdeaea}
.k-ccard[data-topic="haus"]{--acc:#1d1d1b;--acc-fg:#fff;--acc-soft:#ececea}
.k-ccard[data-topic="ki"]{--acc:#136e78;--acc-fg:#fff;--acc-soft:#e1f0f1}
.k-ccard[data-topic="krise"]{--acc:#e09a2b;--acc-fg:#1d1d1b;--acc-soft:#fbf0da}
.k-ccard__top{display:flex;align-items:center;gap:14px;position:relative;z-index:1}
.k-ccard__icon{flex:0 0 auto;width:50px;height:50px;border-radius:14px;background:var(--acc-soft);color:var(--acc);display:flex;align-items:center;justify-content:center}
.k-ccard__icon svg{width:26px;height:26px}
.k-ccard__cat{font:600 11px/1.2 var(--f-display);letter-spacing:1.6px;text-transform:uppercase;color:var(--acc)}
.k-ccard__title{font-family:var(--f-display);font-weight:700;font-size:20px;line-height:1.2;color:var(--c-black);letter-spacing:-.01em;margin:3px 0 0;position:relative;z-index:1}
.k-ccard__lead{color:var(--c-muted);font-size:14.5px;line-height:1.55;margin:0;position:relative;z-index:1}
.k-ccard__meta{list-style:none;padding:0;margin:3px 0 0;display:flex;flex-wrap:wrap;gap:8px;position:relative;z-index:1}
.k-ccard__meta li{display:inline-flex;align-items:center;gap:6px;background:var(--c-cream);color:var(--c-text);font-size:12px;font-weight:500;padding:5px 13px;border-radius:999px}
.k-ccard__foot{margin-top:auto;padding-top:18px;border-top:1px solid #efeae2;display:flex;align-items:center;justify-content:space-between;gap:14px;position:relative;z-index:1}
.k-ccard__price{font-family:var(--f-display);font-size:26px;font-weight:700;color:var(--c-black);margin:0;display:flex;align-items:baseline;gap:7px;letter-spacing:-.01em}
.k-ccard__price small{font-size:12px;font-weight:400;color:var(--c-muted);letter-spacing:0}
.k-ccard__cta{display:inline-flex;align-items:center;gap:8px;background:var(--acc);color:var(--acc-fg);font-family:var(--f-display);font-weight:600;font-size:14px;padding:11px 20px;border-radius:11px;text-decoration:none;transition:filter .2s ease;white-space:nowrap}
.k-ccard__cta span{transition:transform .2s ease}
.k-ccard__cta:hover{filter:brightness(.93)}
.k-ccard__cta:hover span{transform:translateX(3px)}
@media (min-width:980px){
  .k-ccard-grid{grid-template-columns:1fr 1fr;gap:24px}
  .k-ccard{padding:32px 32px 28px}
}

/* k-ccard: Preis nie umbrechen + Mobil-Foot gestapelt (CTA volle Breite) */
.k-ccard__price{white-space:nowrap}
@media (max-width:560px){
  .k-ccard__foot{flex-direction:column;align-items:stretch;gap:15px}
  .k-ccard__cta{justify-content:center;width:100%;padding:13px 20px;font-size:14.5px}
}

/* ===== Footer-Newsletter (Brevo-Anbindung via PHP) ===== */
.k-nl__intro{margin:0 0 12px}
.k-nl{display:block}
.k-nl__label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.k-nl__hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.k-footer__newsletter .k-nl__consent{display:flex;gap:9px;align-items:flex-start;margin:4px 0 12px;font-size:12px;line-height:1.45;color:var(--c-muted);cursor:pointer}
.k-footer__newsletter .k-nl__consent input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;padding:0;border-radius:4px;accent-color:var(--c-wine);cursor:pointer}
.k-footer__newsletter .k-nl__consent a{color:var(--c-wine);text-decoration:underline}
.k-footer__newsletter .k-nl__consent a:hover{color:var(--c-red)}
.k-nl__msg{margin:10px 0 0;font-size:12.5px;font-weight:500;line-height:1.45}
.k-nl__msg.is-ok{color:#1c7c46}
.k-nl__msg.is-err{color:var(--c-red)}

/* ===== Freebie-Workbook-Modal ===== */
.k-wbmodal{position:fixed;inset:0;z-index:1000;display:none;align-items:center;justify-content:center;padding:20px}
.k-wbmodal.is-open{display:flex}
.k-wbmodal__backdrop{position:absolute;inset:0;background:rgba(29,29,27,.55)}
.k-wbmodal__dialog{position:relative;z-index:1;background:#fff;border-radius:18px;max-width:440px;width:100%;padding:34px 32px 30px;box-shadow:0 30px 80px rgba(0,0,0,.32);max-height:92vh;overflow:auto}
.k-wbmodal__close{position:absolute;top:12px;right:15px;background:none;border:0;font-size:28px;line-height:1;color:var(--c-muted);cursor:pointer;padding:4px 8px}
.k-wbmodal__close:hover{color:var(--c-black)}
.k-wbmodal__eyebrow{font:600 11px/1 var(--f-display);letter-spacing:1.6px;text-transform:uppercase;color:var(--c-wine);margin:0 0 8px}
.k-wbmodal__title{font-family:var(--f-display);font-weight:700;font-size:22px;line-height:1.22;color:var(--c-black);margin:0 0 8px;letter-spacing:-.01em}
.k-wbmodal__lead{color:var(--c-muted);font-size:14px;line-height:1.5;margin:0 0 20px}
.k-wbmodal__form input[type=text],.k-wbmodal__form input[type=email]{width:100%;padding:12px 15px;border-radius:12px;border:1px solid var(--c-gray-light);background:#fff;color:var(--c-text);font-family:var(--f-body);font-size:14px;margin-bottom:11px}
.k-wbmodal__form input::placeholder{color:var(--c-muted)}
.k-wbmodal__form .k-nl__consent{display:flex;gap:10px;align-items:flex-start;margin:4px 0 16px;font-size:12.5px;line-height:1.5;color:var(--c-muted);cursor:pointer}
.k-wbmodal__form .k-nl__consent input[type=checkbox]{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;border-radius:4px;accent-color:var(--c-wine);cursor:pointer}
.k-wbmodal__form .k-nl__consent a{color:var(--c-wine);text-decoration:underline}
.k-wbmodal__form .k-nl__consent a:hover{color:var(--c-red)}

/* Geräte-spezifisches Hero-Bild: Resilienz — Mobil-Variante (Desktop bleibt via Inline-Style) */
@media (max-width:640px){ .k-imgband--resilienz{ background-image:url(img/img-resilienz-hero-mobile.jpg)!important; } }
@media (max-width:640px){ .k-imgband--haushalt{ background-image:url(img/img-haushalt-hero-mobile.jpg)!important; } }
/* Mobil-Ansicht der Bänder unverändert lassen (oben ausgerichtet), Desktop bleibt zentriert */
@media (max-width:640px){ .k-imgband{ background-position:center top; } }
@media (max-width:640px){ .k-imgband--ueberuns1{ background-image:url(img/img-11.jpg)!important; } }

/* =====================================================================
   REDESIGN 09/2026 — Startseite v2 („Bildwelt + Story"), Header v2, Footer v2
   Präfix ks- = neue Komponenten. Bestehende k-*-Klassen bleiben unberührt.
   ===================================================================== */
:root { --ks-red: var(--c-red); --ks-red-dark: var(--c-red-dark); --ks-red-soft: #fbe9ea; --ks-wine: var(--c-wine); --ks-cream: var(--c-cream); --ks-cream2: var(--c-cream-dark); --ks-ink: var(--c-black); --ks-muted: var(--c-muted); --ks-pad: 20px; --ks-hdr: 72px; }
.ks-page { background: var(--ks-cream); color: var(--c-text); font-family: var(--f-body); -webkit-font-smoothing: antialiased; }
.ks-page *, .ks-page *::before, .ks-page *::after { box-sizing: border-box; }
.ks-page ul, .ks-page ol { list-style: none; margin: 0; padding: 0; }
.ks-page li { margin: 0; padding: 0; }
.ks-page li::before { content: none; }
.ks-page h1, .ks-page h2, .ks-page h3, .ks-page h4, .ks-page p { margin-top: 0; }
.ks-page a { text-decoration: none; }
.ks-page img { max-width: 100%; }
.ks-wrap { width: min(1200px, calc(100% - 2 * var(--ks-pad))); margin: 0 auto; }
.ks-eyebrow { display: block; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--ks-red); margin: 0 0 10px; }
.ks-h2 { font-family: var(--f-display); font-size: clamp(28px, 3.6vw, 44px); line-height: 1.08; font-weight: 800; color: var(--ks-ink); letter-spacing: -.025em; margin: 0 0 12px; text-wrap: pretty; hyphens: manual; }
.ks-lead { font-size: 16px; line-height: 1.6; color: var(--ks-muted); margin: 0; max-width: 640px; text-wrap: pretty; }
.ks-btn { display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 0 24px; border-radius: 999px; font-family: var(--f-body); font-weight: 600; font-size: 15px; line-height: 1.2; text-decoration: none; white-space: nowrap; border: 1.5px solid transparent; cursor: pointer; transition: transform .2s, box-shadow .2s, background .2s, color .2s; }
.ks-btn:hover { transform: translateY(-2px); }
.ks-btn--red { background: var(--ks-red); color: #fff; box-shadow: 0 14px 30px -14px rgba(216,37,41,.65); }
.ks-btn--red:hover { background: var(--ks-red-dark); color: #fff; }
.ks-btn--wine { background: var(--ks-wine); color: #fff; } .ks-btn--wine:hover { background: var(--c-wine-dark); color: #fff; }
.ks-btn--ghost { border-color: var(--ks-ink); color: var(--ks-ink); background: transparent; } .ks-btn--ghost:hover { background: var(--ks-ink); color: #fff; }
.ks-btn--white { background: #fff; color: var(--ks-ink); box-shadow: 0 10px 24px -14px rgba(29,29,27,.35); } .ks-btn--white:hover { color: var(--ks-red); }
.ks-btn--cream { background: var(--ks-cream); color: var(--ks-wine); } .ks-btn--cream:hover { background: #fff; color: var(--ks-wine); }
.ks-btn--sm { min-height: 42px; padding: 0 18px; font-size: 14px; }
.ks-chip { display: inline-flex; align-items: center; white-space: nowrap; height: 26px; padding: 0 11px; border-radius: 999px; font-size: 11px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; line-height: 1; }
.ks-chip--red { background: var(--ks-red-soft); color: var(--ks-red); }
.ks-chip--wine { background: var(--ks-cream2); color: var(--ks-wine); }
.ks-chip--amber { background: #fbf0da; color: #9a6410; }
.ks-chip--petrol { background: #e1f0f1; color: #136e78; }
.ks-chip--lila { background: #efe6f7; color: #6b3aa8; }
.ks-chip--glass { background: rgba(29,29,27,.24); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); border: 1px solid rgba(255,255,255,.4); color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.3); height: 28px; }
.ks-chip--white { background: #fff; }
.ks-tick { color: var(--ks-red); flex-shrink: 0; }
.ks-nowrap { white-space: nowrap; }

/* ---------- Header v2 (gleiches Markup wie bisher, neu gestaltet) ---------- */
.k-header { background: var(--ks-cream); border-bottom: 1px solid transparent; transition: background .3s, box-shadow .3s, border-color .3s; }
.k-header.is-scrolled { background: rgba(250,246,240,.86); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); box-shadow: 0 10px 40px -30px rgba(107,29,34,.35); border-color: rgba(107,29,34,.06); }
.k-header__inner { min-height: var(--ks-hdr); padding: 0 var(--ks-pad); gap: 16px; }
.k-brand { gap: 0; }
.k-brand-logo, .k-brand img { height: 40px; width: auto; display: block; }
@media (min-width: 1100px) {
  .k-header__inner { min-height: 84px; }
  .k-brand-logo, .k-brand img { height: 46px; }
  .k-nav { display: flex !important; align-items: center; gap: 10px; }
  .k-nav > a:not(.k-nav__login):not(.k-btn), .k-nav > .k-nav__group { display: inline-flex !important; }
  .k-nav > .k-nav__group, .k-nav > a:not(.k-nav__login):not(.k-btn) { background: #fff; border-radius: 999px; box-shadow: 0 10px 30px -22px rgba(107,29,34,.4); }
  .k-nav > a:not(.k-nav__login):not(.k-btn) { padding: 10px 16px; font-size: 14px; font-weight: 500; color: var(--c-text); }
  .k-nav > a:not(.k-nav__login):not(.k-btn):hover { color: var(--ks-red); }
  .k-nav__group { position: relative; }
  .k-nav__toggle { background: transparent; border: 0; font: inherit; font-size: 14px; font-weight: 500; color: var(--c-text); padding: 10px 16px; cursor: pointer; border-radius: 999px; }
  .k-nav__group.is-open .k-nav__toggle, .k-nav__toggle:hover { color: var(--ks-red); }
  .k-nav__menu { display: none; position: absolute; top: calc(100% + 10px); left: 0; min-width: 300px; background: #fff; border-radius: 18px; padding: 10px; box-shadow: 0 30px 60px -30px rgba(107,29,34,.45); z-index: 30; }
  .k-nav__group.is-open .k-nav__menu, .k-nav__group:hover .k-nav__menu { display: block; }
  .k-nav__menu a { display: block; padding: 10px 14px; border-radius: 12px; font-size: 14px; color: var(--c-text); text-decoration: none; }
  .k-nav__menu a:hover { background: var(--ks-cream); color: var(--ks-red); }
  .k-nav__login { margin-left: 8px; font-weight: 600; color: var(--ks-wine); }
  .k-nav .k-btn--primary { min-height: 42px; }
  .k-burger, .k-desknav { display: none !important; }
}
@media (max-width: 1099px) {
  .k-nav { top: 100%; background: var(--ks-cream); padding: 8px var(--ks-pad) 20px; box-shadow: 0 30px 50px -30px rgba(107,29,34,.4); }
  .k-nav > a, .k-nav__toggle { font-size: 16px; padding: 14px 4px; }
  .k-nav__menu a { display: block; padding: 10px 4px 10px 16px; font-size: 15px; color: var(--c-text); text-decoration: none; }
  .k-burger { width: 44px; height: 44px; border-radius: 12px; background: #fff; box-shadow: 0 8px 20px -12px rgba(107,29,34,.4); }
  .k-burger::before, .k-burger::after, .k-burger span { left: 12px; right: 12px; background: var(--ks-ink); }
  .k-burger::before { top: 14px; } .k-burger span { top: 21px; } .k-burger::after { bottom: 14px; }
}

/* ---------- Hero ---------- */
.ks-hero { position: relative; overflow: hidden; }
.ks-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 60% 40%; display: block; }
.ks-hero__shade { position: absolute; inset: 0; }
.ks-hero__inner { position: relative; display: flex; flex-direction: column; gap: 18px; }
.ks-hero__title { font-family: var(--f-display); margin: 0; font-size: clamp(40px, 6vw, 80px); line-height: .98; font-weight: 800; color: var(--ks-ink); letter-spacing: -.035em; max-width: 620px; text-wrap: balance; }
.ks-hero__text { margin: 0; font-size: 17px; line-height: 1.55; color: var(--c-text); max-width: 480px; text-wrap: pretty; }
.ks-hero__cta { display: flex; gap: 12px; flex-wrap: wrap; }
.ks-hero__trust { display: flex; gap: 8px; flex-wrap: wrap; margin: 4px 0 0; padding: 0; list-style: none; }
.ks-hero__trust li { display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 6px 12px; border-radius: 999px; background: rgba(255,255,255,.78); backdrop-filter: blur(8px); font-size: 12.5px; font-weight: 500; color: var(--c-text); line-height: 1.2; }
@media (max-width: 899px) {
  .ks-hero__img { position: relative; height: 50vh; min-height: 310px; max-height: 470px; object-position: 55% 62%; }  /* Chris 10.09.2026: Headline + erster Button im ersten Screen, auch auf kleinen Geräten */
  .ks-hero__shade { top: auto; height: 62vh; min-height: 400px; max-height: 560px; background: linear-gradient(180deg, rgba(250,246,240,0) 55%, rgba(250,246,240,.9) 85%, var(--ks-cream) 100%); }
  .ks-hero__inner { margin-top: -64px; padding-bottom: 30px; }
  .ks-hero .ks-eyebrow { display: inline-flex; align-self: flex-start; align-items: center; min-height: 32px; padding: 6px 12px; border-radius: 999px; background: rgba(29,29,27,.24); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); border: 1px solid rgba(255,255,255,.4); color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.25); font-size: 11px; margin-bottom: 4px; }
  .ks-hero__cta .ks-btn { flex: 1 1 0; }
}
@media (min-width: 900px) {
  .ks-hero { height: calc(100vh - 84px); min-height: 620px; max-height: 860px; }
  .ks-hero__img { left: auto; width: 66%; }
  .ks-hero__shade { background: linear-gradient(90deg, var(--ks-cream) 0%, var(--ks-cream) 30%, rgba(250,246,240,.92) 40%, rgba(250,246,240,.35) 56%, rgba(250,246,240,0) 70%); }
  .ks-hero__inner { height: 100%; justify-content: center; gap: 22px; padding-bottom: 20px; }
}

/* ---------- Sections & Galerien ---------- */
.ks-section { padding: 52px 0 24px; }
.ks-section--tint { background: var(--ks-cream2); padding: 60px 0 36px; }
.ks-galhead { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin-bottom: 18px; }
.ks-galhead__text { max-width: 720px; min-width: 0; }
.ks-arrows { display: flex; gap: 8px; flex-shrink: 0; }
.ks-arrows button { width: 44px; height: 44px; border-radius: 999px; border: 1.5px solid var(--ks-ink); background: transparent; color: var(--ks-ink); cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .2s, color .2s; }
.ks-arrows button:hover { background: var(--ks-ink); color: #fff; }
.ks-gal { display: flex; gap: 16px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 8px var(--ks-pad) 24px; margin: 0 calc(-1 * var(--ks-pad)); scrollbar-width: none; -webkit-overflow-scrolling: touch; scroll-padding: 0 var(--ks-pad); }
.ks-gal::-webkit-scrollbar { display: none; }
.ks-gal > * { scroll-snap-align: start; flex: 0 0 auto; }
.ks-dots { display: flex; gap: 6px; justify-content: center; margin: -8px 0 0; padding: 0; list-style: none; }
.ks-dots li { width: 6px; height: 6px; border-radius: 999px; background: rgba(107,29,34,.22); transition: width .3s, background .3s; }
.ks-dots li.is-on { width: 22px; background: var(--ks-red); }
@media (max-width: 899px) { .ks-arrows { display: none; } .ks-galhead { flex-direction: column; align-items: flex-start; gap: 10px; } }

/* Themen-Karte */
.ks-tc { width: 300px; height: 380px; border-radius: 24px; overflow: hidden; position: relative; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; text-decoration: none; }
.ks-tc img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.ks-tc:hover img { transform: scale(1.05); }
.ks-tc__shade { position: absolute; inset: 0; background: linear-gradient(180deg, rgba(29,29,27,0) 35%, rgba(29,29,27,.3) 60%, rgba(74,20,24,.92) 100%); }
.ks-tc__ico { position: absolute; top: 16px; left: 16px; width: 40px; height: 40px; border-radius: 999px; background: rgba(29,29,27,.24); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); border: 1px solid rgba(255,255,255,.4); box-shadow: 0 1px 0 rgba(255,255,255,.25) inset; color: #fff; display: flex; align-items: center; justify-content: center; } .ks-tc__ico svg { width: 20px; height: 20px; }
.ks-tc__body { position: relative; padding: 22px 22px 24px; display: flex; flex-direction: column; gap: 8px; }
.ks-tc__body .ks-chip { align-self: flex-start; }
.ks-tc h3 { margin: 0; font-family: var(--f-display); font-size: 22px; font-weight: 700; line-height: 1.15; letter-spacing: -.01em; color: #fff; text-wrap: balance; }
.ks-tc p { margin: 0; font-size: 13.5px; line-height: 1.5; color: rgba(255,255,255,.85); text-wrap: pretty; }
.ks-tc__link { font-size: 13px; font-weight: 700; color: #fff; margin-top: 4px; }
@media (max-width: 899px) { .ks-tc { width: 260px; height: 340px; } }

/* Warum-Block (ersetzt generische USP-Kacheln) */
.ks-why { margin-top: 12px; background: #fff; border-radius: 28px; overflow: hidden; display: grid; grid-template-columns: 0.9fr 1.1fr; box-shadow: 0 40px 80px -56px rgba(107,29,34,.45); }
.ks-why__media { position: relative; min-height: 420px; }
.ks-why__media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }
.ks-why__media::after { content: ''; position: absolute; inset: 0; z-index: 0; pointer-events: none; background: linear-gradient(180deg, rgba(74,20,24,0) 55%, rgba(74,20,24,.55) 100%); }
.ks-why__tag { position: absolute; left: 22px; bottom: 22px; z-index: 2; display: inline-flex; align-items: center; gap: 10px; padding: 10px 16px; border-radius: 999px; background: rgba(29,29,27,.24); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); border: 1px solid rgba(255,255,255,.4); box-shadow: 0 1px 0 rgba(255,255,255,.25) inset, 0 12px 30px -16px rgba(0,0,0,.45); color: #fff; text-shadow: 0 1px 2px rgba(0,0,0,.25); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.ks-why__tag i { width: 8px; height: 8px; border-radius: 999px; background: var(--ks-red); display: inline-block; }
.ks-why__body { padding: 40px 44px 36px; display: flex; flex-direction: column; }
.ks-why__body .ks-h2 { font-size: clamp(26px, 2.6vw, 34px); margin-bottom: 20px; }
.ks-why__list { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; }
.ks-why__list li { display: grid; grid-template-columns: 44px 1fr; gap: 14px; padding: 16px 0; border-top: 1px solid var(--ks-cream2); align-items: start; }
.ks-why__list li:first-child { border-top: 0; padding-top: 4px; }
.ks-why__list .ks-why__ico { width: 44px; height: 44px; border-radius: 14px; background: var(--ks-cream); color: var(--ks-red); display: flex; align-items: center; justify-content: center; flex-shrink: 0; } .ks-why__ico svg { width: 22px; height: 22px; display: block; }
.ks-why__list b { display: block; font-family: var(--f-display); font-size: 17px; font-weight: 700; color: var(--ks-ink); margin-bottom: 3px; letter-spacing: -.01em; }
.ks-why__list span { display: block; font-size: 14px; line-height: 1.55; color: var(--ks-muted); text-wrap: pretty; }
@media (max-width: 899px) {
  .ks-why { grid-template-columns: 1fr; border-radius: 24px; }
  .ks-why__media { min-height: 0; height: 220px; }
  .ks-why__body { padding: 24px 22px 22px; }
  .ks-why__list li { grid-template-columns: 34px 1fr; gap: 10px; padding: 14px 0; }
  .ks-why__list b { font-size: 16px; }
}

/* Kurskarte mit Video-Still */
.ks-kc { width: 340px; background: #fff; border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 30px 60px -44px rgba(107,29,34,.45); color: inherit; }
.ks-kc__vid { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--ks-cream2); display: block; }
.ks-kc__vid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s cubic-bezier(.2,.7,.2,1); }
.ks-kc:hover .ks-kc__vid img { transform: scale(1.04); }
.ks-play { position: absolute; left: 50%; top: 50%; width: 64px; height: 64px; margin: -32px 0 0 -32px; border-radius: 999px; background: rgba(255,255,255,.92); backdrop-filter: blur(8px); display: flex; align-items: center; justify-content: center; box-shadow: 0 16px 34px -14px rgba(29,29,27,.6); transition: transform .3s; }
.ks-play::before { content: ''; position: absolute; inset: -8px; border-radius: 999px; border: 2px solid rgba(255,255,255,.7); animation: ks-halo 2.4s ease-out infinite; }
@keyframes ks-halo { 0% { transform: scale(.85); opacity: .9; } 100% { transform: scale(1.35); opacity: 0; } }
.ks-kc:hover .ks-play { transform: scale(1.08); }
.ks-play svg { margin-left: 3px; }
.ks-kc__dur { position: absolute; left: 12px; bottom: 12px; height: 26px; padding: 0 10px; border-radius: 999px; background: rgba(29,29,27,.55); color: #fff; font-size: 11.5px; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; backdrop-filter: blur(6px); white-space: nowrap; }
.ks-kc__tag { position: absolute; left: 12px; top: 12px; }
.ks-kc__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex-grow: 1; }
.ks-kc h3 { margin: 0; font-family: var(--f-display); font-size: 19px; font-weight: 700; color: var(--ks-ink); line-height: 1.2; text-wrap: balance; }
.ks-kc p { margin: 0; font-size: 13.5px; line-height: 1.55; color: var(--ks-muted); text-wrap: pretty; }
.ks-kc__foot { margin-top: auto; padding-top: 12px; display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.ks-kc__price { font-size: 24px; font-weight: 800; color: var(--ks-ink); letter-spacing: -.02em; white-space: nowrap; }
.ks-kc__price small { font-size: 11.5px; color: var(--ks-muted); font-weight: 500; margin-left: 5px; letter-spacing: 0; }
.ks-kc--aa { background: var(--ks-wine); color: #fff; justify-content: center; padding: 26px; gap: 10px; }
.ks-kc--aa .ks-eyebrow { color: #f2b04a; margin-bottom: 2px; }
.ks-kc--aa h3 { color: #fff; font-size: 26px; letter-spacing: -.02em; }
.ks-kc--aa p { color: rgba(255,255,255,.78); }
.ks-kc--aa .ks-kc__foot { padding-top: 6px; }
.ks-kc--aa .ks-kc__price { color: #fff; font-size: 32px; }
@media (max-width: 899px) { .ks-kc { width: 300px; } }

/* Check */
.ks-check { background: var(--ks-wine); color: #fff; padding: 70px 0; }
.ks-check__grid { display: grid; grid-template-columns: 1fr 340px; gap: 50px; align-items: center; }
.ks-check .ks-eyebrow { color: #f2b04a; }
.ks-check .ks-h2 { color: #fff; }
.ks-check__text { margin: 0 0 16px; font-size: 15.5px; line-height: 1.6; color: rgba(255,255,255,.82); max-width: 560px; text-wrap: pretty; }
.ks-check ul { list-style: none; margin: 0 0 22px; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14.5px; color: rgba(255,255,255,.9); }
.ks-check li { display: flex; gap: 8px; align-items: flex-start; line-height: 1.45; }
.ks-page .ks-check li::before { content: '✓'; color: #f2b04a; font-weight: 700; flex-shrink: 0; }
.ks-ring { width: 260px; height: 260px; margin: 0 auto; position: relative; display: flex; align-items: center; justify-content: center; }
.ks-ring svg { position: absolute; inset: 0; width: 100%; height: 100%; }
.ks-ring__arc { transition: stroke-dashoffset 1.6s cubic-bezier(.2,.7,.2,1); }
.ks-ring.is-drawn .ks-ring__arc { stroke-dashoffset: 110; }
.ks-ring__num { font-size: 76px; font-weight: 800; line-height: 1; letter-spacing: -.04em; }
.ks-ring__label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; color: rgba(255,255,255,.7); }
@media (max-width: 899px) { .ks-check { padding: 56px 0; } .ks-check__grid { grid-template-columns: 1fr; gap: 26px; } .ks-ring { width: 200px; height: 200px; } .ks-ring__num { font-size: 58px; } }

/* All-Access */
.ks-aa { border-radius: 28px; background: #fff; padding: 40px 48px; display: grid; grid-template-columns: 1fr 300px; gap: 36px; align-items: center; box-shadow: 0 40px 80px -50px rgba(107,29,34,.4); }
.ks-aa__stills { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin-top: 18px; }
.ks-aa__stills figure { margin: 0; }
.ks-aa__stills img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 10px; display: block; }
.ks-aa__stills figcaption { margin-top: 8px; font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ks-muted); text-align: center; line-height: 1.3; }
.ks-aa__box { background: var(--ks-wine); color: #fff; border-radius: 22px; padding: 28px; display: flex; flex-direction: column; gap: 10px; align-items: center; text-align: center; }
.ks-aa__price { font-size: 60px; font-weight: 800; line-height: 1; letter-spacing: -.03em; }
.ks-aa__box small { font-size: 13px; color: rgba(255,255,255,.72); line-height: 1.4; }
.ks-aa__box .ks-btn { align-self: stretch; }
@media (max-width: 899px) { .ks-aa { grid-template-columns: 1fr; padding: 28px 22px; gap: 22px; } .ks-aa__stills { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Gratis-Karten (Dokument-Mockup) */
.ks-fc { width: 300px; background: #fff; border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; color: inherit; text-decoration: none; box-shadow: 0 30px 60px -44px rgba(107,29,34,.45); transition: transform .3s, box-shadow .3s; }
.ks-fc:hover { transform: translateY(-4px); box-shadow: 0 40px 70px -40px rgba(107,29,34,.5); }
.ks-fc__stage { position: relative; height: 228px; overflow: hidden; background: linear-gradient(160deg, #f7f1e7 0%, #ece3d4 100%); }
.ks-fc__doc { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; display: block; transform: translateY(6px); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.ks-fc:hover .ks-fc__doc { transform: translateY(-2px) scale(1.03); }
.ks-fc__meta { position: absolute; left: 14px; top: 14px; height: 26px; padding: 0 10px; border-radius: 999px; background: rgba(29,29,27,.72); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .06em; display: inline-flex; align-items: center; gap: 6px; backdrop-filter: blur(6px); }
.ks-fc__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex-grow: 1; }
.ks-fc__body .ks-chip { align-self: flex-start; margin-bottom: 2px; }
.ks-fc h4 { margin: 0; font-family: var(--f-display); font-size: 18px; font-weight: 700; color: var(--ks-ink); line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; }
.ks-fc p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--ks-muted); text-wrap: pretty; }
.ks-fc__foot { margin-top: auto; padding-top: 12px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.ks-fc__cta { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 16px; border-radius: 999px; background: var(--ks-red-soft); color: var(--ks-red); font-size: 13.5px; font-weight: 700; transition: background .2s, color .2s; white-space: nowrap; }
.ks-fc:hover .ks-fc__cta { background: var(--ks-red); color: #fff; }
.ks-fc__size { font-size: 11.5px; line-height: 1.35; color: var(--ks-muted); text-align: right; flex: 1 1 0; min-width: 0; }
/* Workbook-Variante */
.ks-fc--wb .ks-fc__stage { background: linear-gradient(160deg, #7a2229 0%, #4a1418 100%); }
.ks-fc--wb.ks-fc--petrol .ks-fc__stage { background: linear-gradient(160deg, #1a8290 0%, #0e5560 100%); }
.ks-fc--wb .ks-fc__meta { background: rgba(255,255,255,.18); }
.ks-fc--wb .ks-fc__cta { background: var(--ks-wine); color: #fff; }
.ks-fc--wb.ks-fc--petrol .ks-fc__cta { background: #136e78; }
.ks-fc--wb:hover .ks-fc__cta { background: var(--ks-red); }
@media (max-width: 899px) { .ks-fc { width: 264px; } .ks-fc__stage { height: 206px; } }

/* Über uns Bildband */
.ks-band { position: relative; overflow: hidden; }
.ks-band img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 35%; display: block; }
.ks-band__shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(250,246,240,0) 35%, rgba(250,246,240,.92) 62%, var(--ks-cream) 100%); }
.ks-band__inner { position: relative; display: flex; justify-content: flex-end; align-items: center; }
.ks-band__text { max-width: 460px; }
.ks-band__text p { margin: 0 0 18px; font-size: 16px; line-height: 1.6; color: var(--c-text); text-wrap: pretty; }
@media (min-width: 900px) { .ks-band { height: 480px; } .ks-band__inner { height: 100%; } }
@media (max-width: 899px) { .ks-band img { position: relative; height: 260px; } .ks-band__shade { display: none; } .ks-band__inner { padding: 26px 0 8px; justify-content: flex-start; } }

/* Blog-Karten */
.ks-bc { width: 300px; display: flex; flex-direction: column; gap: 10px; color: inherit; text-decoration: none; }
.ks-bc__im { border-radius: 18px; overflow: hidden; height: 190px; }
.ks-bc__im img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s; }
.ks-bc:hover .ks-bc__im img { transform: scale(1.05); }
.ks-bc .ks-chip { align-self: flex-start; }
.ks-bc h4 { margin: 0; font-family: var(--f-display); font-size: 17px; font-weight: 700; color: var(--ks-ink); line-height: 1.25; text-wrap: balance; }
.ks-bc__meta { font-size: 12.5px; color: var(--ks-muted); }
@media (max-width: 899px) { .ks-bc { width: 260px; } }

/* CTA-Band */
.ks-cta { background: var(--ks-wine); color: #fff; border-radius: 28px; padding: 40px; display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.ks-cta .ks-h2 { color: #fff; font-size: 30px; margin-bottom: 8px; }
.ks-cta p { margin: 0; font-size: 15px; color: rgba(255,255,255,.78); text-wrap: pretty; }
.ks-cta__text { max-width: 560px; }
.ks-cta__btns { display: flex; gap: 10px; flex-wrap: wrap; }
@media (max-width: 899px) { .ks-cta { padding: 28px 22px; } .ks-cta__btns { width: 100%; } .ks-cta__btns .ks-btn { flex: 1 1 0; } }

/* Mobile Aktionsleiste */
.ks-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 60; display: none; gap: 10px; padding: 10px 14px calc(10px + env(safe-area-inset-bottom)); background: rgba(250,246,240,.92); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid #ece6db; transform: translateY(110%); transition: transform .5s cubic-bezier(.2,.7,.2,1); }
.ks-bar.is-on { transform: none; }
.ks-bar .ks-btn { flex: 1 1 0; min-height: 48px; font-size: 14px; }
@media (max-width: 899px) { .ks-bar { display: flex; } .ks-page.has-bar { padding-bottom: 70px; } }

/* Scroll-Reveal (nur mit JS) */
.js .ks-rv { opacity: 0; transform: translateY(30px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.js .ks-rv.is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .js .ks-rv { opacity: 1; transform: none; transition: none; } .ks-play::before { animation: none; } .ks-ring__arc { transition: none; } }

/* ---------- Footer v2 ---------- */
.k-footer { background: var(--ks-cream2); }
.k-footer__logo img { height: 40px; width: auto; }
.k-footer__partner { text-align: center; padding: 8px 0 14px; }
.k-footer__partner-link { display: inline-flex; align-items: center; gap: 10px; opacity: .8; }
.k-footer__partner-label { font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--ks-muted); }
.k-footer__partner img { height: 24px; width: auto; }

/* ---------- Themenseiten v2 ---------- */
.ks-breadcrumb { font-size: 12.5px; color: var(--ks-muted); }
.ks-crumb { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 0 0 12px; padding: 0; }
.ks-crumb li { display: inline-flex; align-items: center; gap: 6px; }
.ks-crumb li + li::before { content: '/'; color: rgba(107,107,102,.5); }
.ks-crumb a { color: var(--ks-muted); } .ks-crumb a:hover { color: var(--ks-red); }
.ks-hero--topic .ks-hero__title { font-size: clamp(36px, 5.2vw, 68px); }
@media (min-width: 900px) { .ks-hero--topic .ks-hero__shade { background: linear-gradient(90deg, var(--ks-cream) 0%, var(--ks-cream) 32%, rgba(250,246,240,.96) 40%, rgba(250,246,240,.7) 50%, rgba(250,246,240,.3) 62%, rgba(250,246,240,0) 78%); } .ks-hero--topic .ks-hero__img { object-position: 70% 40%; } .page-kurse .ks-hero__img { object-position: 60% 45%; } .ks-hero--topic { height: auto; min-height: 560px; max-height: 720px; } .ks-hero--topic .ks-hero__inner { min-height: 560px; padding: 40px 0; } }
@media (max-width: 899px) { .ks-hero--topic .ks-breadcrumb { display: inline-flex; align-self: flex-start; padding: 6px 12px; border-radius: 999px; background: rgba(29,29,27,.24); -webkit-backdrop-filter: blur(14px) saturate(150%); backdrop-filter: blur(14px) saturate(150%); border: 1px solid rgba(255,255,255,.4); color: #fff; margin-bottom: 4px; } .ks-hero--topic .ks-crumb { margin: 0; } .ks-hero--topic .ks-crumb a, .ks-hero--topic .ks-crumb li { color: #fff; } .ks-hero--topic .ks-crumb li + li::before { color: rgba(255,255,255,.6); } .ks-hero--topic .ks-hero__img { height: 52vh; min-height: 340px; } .ks-hero--topic .ks-hero__shade { height: 52vh; min-height: 340px; } }

@media (max-width: 899px) { .ks-hero--topic .ks-hero__inner { margin-top: -58px; gap: 14px; } .ks-hero--topic .ks-eyebrow { background: none; border: 0; padding: 0; min-height: 0; color: var(--ks-red); text-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; margin: 18px 0 0; font-size: 11.5px; } .ks-hero--topic .ks-breadcrumb { margin-bottom: 0; } .ks-hero--topic .ks-crumb li:nth-child(3):last-child { display: none; } }
/* Einordnung */
.ks-intro { display: grid; grid-template-columns: 1.2fr .8fr; gap: 40px; align-items: start; }
.ks-intro__text .ks-lead { margin-bottom: 12px; }
.ks-intro__facts { background: var(--ks-wine); color: #fff; border-radius: 24px; padding: 28px; }
.ks-intro__facts .ks-eyebrow { color: #f2b04a; }
.ks-intro__facts ul { display: flex; flex-direction: column; gap: 10px; }
.ks-intro__facts li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; padding: 10px 0; border-top: 1px solid rgba(255,255,255,.14); }
.ks-intro__facts li:first-child { border-top: 0; padding-top: 0; }
.ks-page .ks-intro__facts li::before { content: '✓'; color: #f2b04a; font-weight: 700; flex-shrink: 0; }
@media (max-width: 899px) { .ks-intro { grid-template-columns: 1fr; gap: 20px; } .ks-intro__facts { padding: 22px; } }
/* Artikel-Karten */
.ks-ac { width: 300px; display: flex; flex-direction: column; background: #fff; border-radius: 22px; overflow: hidden; color: inherit; text-decoration: none; box-shadow: 0 30px 60px -44px rgba(107,29,34,.4); transition: transform .3s; }
.ks-ac:hover { transform: translateY(-4px); }
.ks-ac__im { display: block; height: 180px; overflow: hidden; }
.ks-ac__im img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s; }
.ks-ac:hover .ks-ac__im img { transform: scale(1.05); }
.ks-ac__body { padding: 18px 20px 20px; display: flex; flex-direction: column; gap: 8px; flex-grow: 1; }
.ks-ac__body .ks-chip { align-self: flex-start; }
.ks-ac h3 { margin: 0; font-family: var(--f-display); font-size: 17px; font-weight: 700; color: var(--ks-ink); line-height: 1.25; text-wrap: balance; }
.ks-ac__meta { font-size: 12.5px; color: var(--ks-muted); margin-top: auto; }
.ks-ac__link { font-size: 13.5px; font-weight: 700; color: var(--ks-red); }
.ks-ac--text { min-height: 230px; position: relative; padding-top: 18px; }
.ks-ac__num { position: absolute; right: 18px; top: 14px; font-size: 44px; font-weight: 800; letter-spacing: -.04em; color: var(--ks-cream2); line-height: 1; }
.ks-ac--text .ks-ac__body { padding-top: 34px; }
.ks-ac--soon { background: var(--ks-cream2); box-shadow: none; min-height: 230px; justify-content: flex-end; }
.ks-ac--soon h3 { color: var(--ks-muted); }
@media (max-width: 899px) { .ks-ac { width: 264px; } .ks-ac__im { height: 160px; } }
/* Artikel-Karten „Editorial" (Variante A, Freigabe 09/2026) */
.ks-ea { position: relative; width: 260px; aspect-ratio: 3 / 4; border-radius: 24px; overflow: hidden; display: flex; flex-direction: column; justify-content: flex-end; color: #fff; text-decoration: none; box-shadow: 0 34px 60px -40px rgba(107,29,34,.55); background: var(--ks-cream2); }
.ks-ea--lead { width: 400px; aspect-ratio: auto; }
.ks-ea--lead img { object-position: 50% 25%; }
.ks-ea img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s; }
.ks-ea:hover img { transform: scale(1.05); }
.ks-ea::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(29,29,27,0) 30%, rgba(29,29,27,.3) 55%, rgba(29,29,27,.86) 100%); pointer-events: none; }
.ks-ea--lead::after { background: linear-gradient(180deg, rgba(29,29,27,0) 15%, rgba(29,29,27,.5) 45%, rgba(29,29,27,.92) 100%); }
.ks-ea__top { position: absolute; top: 16px; left: 16px; z-index: 2; }
.ks-ea__body { position: relative; z-index: 2; padding: 22px; display: flex; flex-direction: column; gap: 8px; }
.ks-ea h3 { margin: 0; font-family: var(--f-display); font-size: 21px; line-height: 1.15; font-weight: 800; letter-spacing: -.02em; color: #fff; text-wrap: balance; text-shadow: 0 2px 12px rgba(0,0,0,.35); }
.ks-ea--lead h3 { font-size: 28px; }
.ks-ea--long h3 { font-size: 18px; }
.ks-ea--lead.ks-ea--long h3 { font-size: 24px; }
.ks-ea p { margin: 2px 0 0; font-size: 14.5px; line-height: 1.5; color: rgba(255,255,255,.9); max-width: 34ch; text-wrap: pretty; text-shadow: 0 1px 8px rgba(0,0,0,.35); }
.ks-ea__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 6px; }
.ks-ea__meta { font-size: 12.5px; font-weight: 500; color: rgba(255,255,255,.88); display: inline-flex; align-items: center; gap: 6px; white-space: nowrap; }
.ks-ea__go { width: 40px; height: 40px; border-radius: 999px; background: #fff; color: var(--ks-ink); display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; transition: transform .3s, background .3s, color .3s; }
.ks-ea:hover .ks-ea__go { background: var(--ks-red); color: #fff; transform: translateX(3px); }
.ks-ea--tone { background: linear-gradient(160deg, color-mix(in srgb, var(--tone) 78%, #fff) 0%, var(--tone) 55%, color-mix(in srgb, var(--tone) 72%, #1d1d1b) 100%); }
.ks-ea--tone::after { background: linear-gradient(180deg, rgba(29,29,27,0) 50%, rgba(29,29,27,.35) 100%); }
.ks-ea__num { position: absolute; right: 18px; top: 10px; z-index: 1; font-size: 64px; font-weight: 800; letter-spacing: -.05em; line-height: 1; color: rgba(255,255,255,.22); }
.ks-ea--light { background: linear-gradient(160deg, #fff 0%, color-mix(in srgb, var(--tone) 12%, #fff) 100%); color: var(--ks-ink); border: 1px solid color-mix(in srgb, var(--tone) 18%, #fff); }
.ks-ea--light::after { display: none; }
.ks-ea--light h3 { color: var(--ks-ink); text-shadow: none; }
.ks-ea--light .ks-ea__meta { color: var(--ks-muted); }
.ks-ea--light .ks-ea__num { color: color-mix(in srgb, var(--tone) 16%, #fff); }
.ks-ea--light .ks-chip--glass { background: color-mix(in srgb, var(--tone) 12%, #fff); border-color: transparent; color: var(--tone); text-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; }
.ks-ea--light .ks-ea__go { background: var(--tone); color: #fff; }
.ks-ea--soon { background: var(--ks-cream2); box-shadow: none; color: var(--ks-muted); }
.ks-ea--soon::after { display: none; }
.ks-ea--soon h3 { color: var(--ks-muted); text-shadow: none; }
.ks-ea--soon .ks-ea__meta { color: var(--ks-muted); }
@media (max-width: 899px) { .ks-ea { width: 250px; } .ks-ea--lead { width: 300px; aspect-ratio: 5 / 7; } .ks-ea--lead p { -webkit-line-clamp: 4; display: -webkit-box; -webkit-box-orient: vertical; overflow: hidden; } .ks-ea--lead h3 { font-size: 24px; } .ks-ea--lead p { font-size: 14px; } }
/* Kurs-Block */
.ks-course { background: #fff; border-radius: 28px; overflow: hidden; display: grid; grid-template-columns: 1fr 1fr; box-shadow: 0 40px 80px -56px rgba(107,29,34,.45); }
.ks-course__vid { position: relative; display: block; min-height: 340px; background: var(--ks-cream2); }
.ks-course__vid img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .8s; }
.ks-course:hover .ks-course__vid img { transform: scale(1.03); }
.ks-course__body { padding: 36px 40px; display: flex; flex-direction: column; }
.ks-course__list { display: flex; flex-direction: column; gap: 8px; margin: 18px 0 22px; }
.ks-course__list li { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; color: var(--c-text); }
.ks-page .ks-course__list li::before { content: '✓'; color: var(--ks-red); font-weight: 700; flex-shrink: 0; }
.ks-course__buy { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 18px; border-top: 1px solid var(--ks-cream2); }
.ks-course__price { font-size: 34px; font-weight: 800; color: var(--ks-ink); letter-spacing: -.02em; display: flex; flex-direction: column; line-height: 1; }
.ks-course__price small { font-size: 12px; font-weight: 500; color: var(--ks-muted); letter-spacing: 0; margin-top: 6px; }
@media (max-width: 899px) { .ks-course { grid-template-columns: 1fr; border-radius: 24px; } .ks-course__vid { min-height: 0; aspect-ratio: 16 / 9; } .ks-course__body { padding: 22px 22px 24px; } .ks-course__buy .ks-btn { flex: 1 1 100%; } }
/* FAQ */
.ks-faq { display: grid; grid-template-columns: 360px 1fr; gap: 40px; align-items: start; }
.ks-faq__list { display: flex; flex-direction: column; gap: 10px; }
.ks-faq__item { background: #fff; border-radius: 18px; padding: 0 22px; }
.ks-faq__item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-weight: 700; font-size: 16px; color: var(--ks-ink); }
.ks-faq__item summary::-webkit-details-marker { display: none; }
.ks-faq__ic { width: 28px; height: 28px; border-radius: 999px; background: var(--ks-red-soft); position: relative; flex-shrink: 0; transition: transform .3s; }
.ks-faq__ic::before, .ks-faq__ic::after { content: ''; position: absolute; left: 50%; top: 50%; width: 12px; height: 2px; background: var(--ks-red); transform: translate(-50%, -50%); }
.ks-faq__ic::after { transform: translate(-50%, -50%) rotate(90deg); }
.ks-faq__item[open] .ks-faq__ic { transform: rotate(45deg); }
.ks-faq__item p { margin: 0; padding: 0 0 18px; font-size: 15px; line-height: 1.6; color: var(--ks-muted); text-wrap: pretty; }
@media (max-width: 899px) { .ks-faq { grid-template-columns: 1fr; gap: 16px; } }
/* Partner (dezent) */
.ks-partner { display: flex; gap: 24px; align-items: center; padding: 22px 26px; border-radius: 20px; border: 1px solid var(--ks-cream2); background: #fff; }
.ks-partner__logo img { height: 40px; width: auto; display: block; }
.ks-partner p { margin: 4px 0 6px; font-size: 14px; line-height: 1.55; color: var(--ks-muted); text-wrap: pretty; }
.ks-partner__more { font-size: 13.5px; font-weight: 600; color: var(--ks-wine); }
@media (max-width: 899px) { .ks-partner { flex-direction: column; align-items: flex-start; padding: 20px; } }
/* ---------- Kurse + All-Access v2 ---------- */
.ks-cds { padding-bottom: 48px; } .ks-cds .ks-wrap { display: flex; flex-direction: column; gap: 28px; }
.ks-cd { display: grid; grid-template-columns: 1.05fr 1fr; background: #fff; border-radius: 28px; overflow: hidden; box-shadow: 0 40px 80px -56px rgba(107,29,34,.45); }
.ks-cd--flip .ks-cd__media { order: 2; }
.ks-cd__media { position: relative; min-height: 380px; background: var(--ks-cream2); }
.ks-cd__video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; background: #1d1d1b; }
.ks-cd__poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-cd__media.is-playing .ks-cd__poster { display: none; }
.ks-cd__play { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; background: transparent; cursor: pointer; padding: 0; }
.ks-cd__play .ks-play { transition: transform .3s; }
.ks-cd__play:hover .ks-play { transform: scale(1.08); }
.ks-cd__media.is-playing .ks-cd__play, .ks-cd__media.is-playing .ks-kc__dur { display: none; }
.ks-cd__body { padding: 40px 44px; display: flex; flex-direction: column; gap: 14px; }
.ks-cd__body .ks-chip { align-self: flex-start; }
.ks-cd__body .ks-h2 { margin: 2px 0 0; font-size: clamp(26px, 3vw, 36px); }
.ks-cd__text { margin: 0; font-size: 15.5px; line-height: 1.6; color: var(--c-text); text-wrap: pretty; }
.ks-cd__meta { margin: 0; font-size: 13px; font-weight: 600; color: var(--tone); letter-spacing: .02em; }
.ks-cd__list { border-top: 1px solid var(--ks-cream2); border-bottom: 1px solid var(--ks-cream2); }
.ks-cd__list summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 14px 0; font-weight: 700; font-size: 15px; color: var(--ks-ink); }
.ks-cd__list summary::-webkit-details-marker { display: none; }
.ks-cd__list summary svg { transition: transform .3s; color: var(--ks-muted); }
.ks-cd__list[open] summary svg { transform: rotate(180deg); }
.ks-page .ks-cd__list ol { margin: 0 0 6px; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 8px; counter-reset: cd; }
.ks-page .ks-cd__list li { display: flex; gap: 12px; align-items: baseline; font-size: 14.5px; line-height: 1.45; color: var(--c-text); counter-increment: cd; }
.ks-page .ks-cd__list li::before { content: counter(cd, decimal-leading-zero); font-size: 12px; font-weight: 700; color: var(--tone); flex-shrink: 0; width: 22px; }
.ks-cd__more { margin: 0 0 14px 34px; font-size: 13.5px; color: var(--ks-muted); }
.ks-cd__buy { margin-top: auto; display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; padding-top: 6px; }
@media (max-width: 899px) { .ks-cd { grid-template-columns: 1fr; border-radius: 24px; } .ks-cd--flip .ks-cd__media { order: 0; } .ks-cd__media { min-height: 0; aspect-ratio: 16 / 10; } .ks-cd__body { padding: 22px 22px 24px; gap: 12px; } .ks-cd__buy .ks-btn { flex: 1 1 100%; } .ks-cds { padding-bottom: 32px; } .ks-cds .ks-wrap { gap: 20px; } }
/* All-Access Hero: Mosaik aus Video-Stills */
.ks-aahero__mosaic { position: absolute; display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.ks-aahero__tile { position: relative; margin: 0; border-radius: 18px; overflow: hidden; box-shadow: 0 30px 60px -36px rgba(29,29,27,.6); }
.ks-aahero__mosaic img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-aahero__tile .ks-chip { position: absolute; left: 12px; bottom: 12px; }
@media (min-width: 900px) {
  .ks-hero--aa { height: auto; min-height: 600px; max-height: 760px; }
  .ks-hero--aa .ks-hero__inner { min-height: 600px; padding: 40px 0; }
  .ks-aahero__mosaic { right: 24px; top: 50%; transform: translateY(-50%); width: 52%; gap: 12px; align-items: stretch; }
  .ks-aahero__tile { aspect-ratio: 16 / 10; }
  .ks-aahero__tile:nth-child(2), .ks-aahero__tile:nth-child(4) { transform: translateY(28px); }
  .ks-hero--aa .ks-hero__shade { background: linear-gradient(90deg, var(--ks-cream) 0%, var(--ks-cream) 36%, rgba(250,246,240,.85) 44%, rgba(250,246,240,.25) 52%, rgba(250,246,240,0) 60%); }
}
@media (max-width: 899px) {
  .ks-aahero__mosaic { position: relative; height: auto; padding: 12px var(--ks-pad) 0; gap: 8px; }
  .ks-aahero__tile { aspect-ratio: 16 / 11; border-radius: 14px; } .ks-aahero__tile .ks-chip { left: 8px; bottom: 8px; height: 24px; font-size: 9.5px; padding: 0 8px; }
  .ks-hero--aa .ks-hero__shade { display: none; }
  .ks-hero--aa .ks-hero__inner { margin-top: 20px; }
  .ks-hero--aa .ks-breadcrumb { background: none; border: 0; padding: 0; color: var(--ks-muted); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ks-hero--aa .ks-crumb a, .ks-hero--aa .ks-crumb li { color: var(--ks-muted); } .ks-hero--aa .ks-crumb li:last-child { display: inline-flex; }
  .ks-hero--aa .ks-eyebrow { background: none; border: 0; padding: 0; min-height: 0; color: var(--ks-red); text-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; margin: 6px 0 0; }
}
/* Kennzahlen */
.ks-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.ks-stat { background: #fff; border-radius: 20px; padding: 22px 24px; display: flex; flex-direction: column; gap: 4px; box-shadow: 0 24px 50px -40px rgba(107,29,34,.4); }
.ks-stat b { font-family: var(--f-display); font-size: clamp(30px, 3.4vw, 44px); font-weight: 800; letter-spacing: -.03em; line-height: 1; color: var(--ks-red); }
.ks-stat span { font-size: 13.5px; color: var(--ks-muted); font-weight: 500; }
@media (max-width: 899px) { .ks-stats { grid-template-columns: 1fr 1fr; gap: 10px; } .ks-stat { padding: 18px 20px; } }
/* Inklusive-Kurse: Desktop Raster, mobil Wischgalerie */
@media (min-width: 900px) { .ks-gal--grid4 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; margin: 0; padding: 8px 0 24px; } .ks-gal--grid4 > .ks-kc { width: auto; } .ks-dots[data-for="ksGalInc"] { display: none; } }
.ks-inc__n { font-size: 12.5px !important; color: var(--ks-muted); }
.ks-inc__was { white-space: nowrap; font-size: 14px; color: var(--ks-muted); text-decoration: line-through; text-decoration-color: rgba(107,107,102,.6); }
.ks-inc__badge { display: inline-flex; align-items: center; gap: 6px; height: 28px; padding: 0 11px; border-radius: 999px; background: #e8f4ec; color: #1f7a3e; font-size: 11.5px; font-weight: 700; letter-spacing: .04em; white-space: nowrap; }
.ks-inc__badge::before { content: '✓'; font-weight: 800; }
/* Archiv-Kapitel */
.ks-toc { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.ks-toc__item { position: relative; display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 20px; padding: 22px 22px 22px 20px; box-shadow: 0 24px 50px -40px rgba(107,29,34,.35); }
.ks-toc__num { font-family: var(--f-display); font-size: 26px; font-weight: 800; letter-spacing: -.04em; color: var(--ks-red); line-height: 1; margin-top: 2px; flex-shrink: 0; width: 34px; }
.ks-toc__item h3 { margin: 0 0 4px; font-family: var(--f-display); font-size: 16px; font-weight: 700; line-height: 1.25; color: var(--ks-ink); text-wrap: balance; padding-right: 60px; }
.ks-toc__item p { margin: 0; font-size: 13.5px; line-height: 1.5; color: var(--ks-muted); text-wrap: pretty; }
.ks-toc__count { position: absolute; right: 16px; top: 16px; font-size: 11.5px; font-weight: 700; color: var(--ks-wine); background: var(--ks-cream2); border-radius: 999px; padding: 5px 10px; white-space: nowrap; }
@media (max-width: 1099px) { .ks-toc { grid-template-columns: 1fr 1fr; } }
@media (max-width: 699px) { .ks-toc { grid-template-columns: 1fr; gap: 10px; } .ks-toc__item { padding: 18px 18px 18px 16px; } }
.ks-aa__list { margin: 14px 0 0 !important; }
.ks-aa .ks-aa__list li { font-size: 15px; }
@media (max-width: 899px) { .ks-cd__meta-x { display: none; } }
/* FAQ als Frage-Karten (Variante B, Freigabe 06.09.2026) */
.ks-faqc { width: 340px; background: #fff; border-radius: 22px; padding: 26px 24px 24px; display: flex; flex-direction: column; gap: 12px; box-shadow: 0 30px 60px -44px rgba(107,29,34,.4); position: relative; overflow: hidden; }
.ks-faqc::before { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 5px; background: var(--ks-red); }
.ks-faqc__num { font-family: var(--f-display); font-size: 40px; font-weight: 800; letter-spacing: -.04em; color: var(--ks-cream2); line-height: 1; }
.ks-faqc h3 { margin: 0; font-family: var(--f-display); font-size: 20px; font-weight: 700; line-height: 1.25; color: var(--ks-ink); text-wrap: balance; }
.ks-faqc p { margin: 0; font-size: 14.5px; line-height: 1.6; color: var(--ks-muted); text-wrap: pretty; }
@media (max-width: 899px) { .ks-faqc { width: 290px; padding: 22px; } }
/* ---------- Wissen + Downloads v2 ---------- */
.ks-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 14px; }
.ks-filter__chip { min-height: 40px; padding: 0 16px; border-radius: 999px; border: 1.5px solid rgba(29,29,27,.14); background: #fff; color: var(--ks-ink); font-family: inherit; font-size: 13.5px; font-weight: 600; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.ks-filter__chip:hover { border-color: var(--ks-ink); }
.ks-filter__chip.is-on { background: var(--ks-ink); color: #fff; border-color: var(--ks-ink); }
.ks-filter__count { margin: 0 0 18px; font-size: 13px; color: var(--ks-muted); }
.ks-filter__empty { margin: 24px 0; font-size: 15px; color: var(--ks-muted); }
@media (max-width: 899px) { .ks-filter { flex-wrap: nowrap; overflow-x: auto; margin: 0 calc(-1 * var(--ks-pad)) 12px; padding: 4px var(--ks-pad); scrollbar-width: none; } .ks-filter::-webkit-scrollbar { display: none; } .ks-filter__chip { flex: 0 0 auto; } }
.ks-wgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ks-wgrid > .ks-ea { width: auto; }
.ks-wgrid > .ks-ea[hidden] { display: none; }
@media (max-width: 1099px) { .ks-wgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) { .ks-wgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ks-wgrid > .ks-ea { border-radius: 18px; } .ks-wgrid .ks-ea__body { padding: 14px; gap: 6px; } .ks-wgrid .ks-ea h3 { font-size: 15.5px; } .ks-wgrid .ks-ea__top { top: 10px; left: 10px; } .ks-wgrid .ks-chip--glass { height: 24px; font-size: 9.5px; padding: 0 8px; } .ks-wgrid .ks-ea__go { width: 32px; height: 32px; } .ks-wgrid .ks-ea__go svg { width: 13px; height: 13px; } .ks-wgrid .ks-ea__meta { font-size: 11.5px; } .ks-wgrid .ks-ea__num { font-size: 44px; right: 12px; } }
.ks-fgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ks-fgrid > .ks-fc { width: auto; }
.ks-fgrid > .ks-fc[hidden] { display: none; }
.ks-wbgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; max-width: 760px; }
.ks-wbgrid > .ks-fc { width: auto; }
@media (max-width: 1099px) { .ks-fgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899px) { .ks-fgrid, .ks-wbgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; } .ks-fgrid .ks-fc__stage, .ks-wbgrid .ks-fc__stage { height: 150px; } .ks-fgrid .ks-fc__body, .ks-wbgrid .ks-fc__body { padding: 14px; gap: 6px; } .ks-fgrid .ks-fc h4, .ks-wbgrid .ks-fc h4 { font-size: 15px; } .ks-fgrid .ks-fc p, .ks-wbgrid .ks-fc p { font-size: 12.5px; } .ks-fgrid .ks-fc__foot, .ks-wbgrid .ks-fc__foot { flex-wrap: wrap; } .ks-fgrid .ks-fc__cta, .ks-wbgrid .ks-fc__cta { min-height: 36px; padding: 0 12px; font-size: 12.5px; } .ks-fgrid .ks-fc__size, .ks-wbgrid .ks-fc__size { text-align: left; } }
@media (max-width: 379px) { .ks-fgrid, .ks-wbgrid, .ks-wgrid { grid-template-columns: 1fr; } }
/* Downloads-Hero: Dokumentstapel */
.ks-dlhero__stage { position: absolute; display: flex; align-items: flex-end; justify-content: center; }
.ks-dlhero__stage img { width: 46%; height: auto; display: block; flex-shrink: 0; }
.ks-dlhero__stage img:nth-child(1) { margin-right: -14%; transform: translateY(6%) rotate(-4deg) scale(.9); }
.ks-dlhero__stage img:nth-child(3) { margin-left: -14%; transform: translateY(6%) rotate(4deg) scale(.9); }
.ks-dlhero__stage img:nth-child(2) { position: relative; z-index: 1; }
@media (min-width: 900px) {
  .ks-hero--dl { height: auto; min-height: 560px; max-height: 720px; background: linear-gradient(90deg, var(--ks-cream) 0%, var(--ks-cream) 45%, var(--ks-cream2) 100%); }
  .ks-hero--dl .ks-hero__inner { min-height: 560px; padding: 40px 0; }
  .ks-dlhero__stage { right: 2%; top: 50%; transform: translateY(-50%); width: 50%; }
}
@media (max-width: 899px) {
  .ks-hero--dl { background: var(--ks-cream); }
  .ks-dlhero__stage { position: relative; width: 100%; padding: 8px 6% 0; background: linear-gradient(180deg, var(--ks-cream2) 0%, var(--ks-cream) 100%); }
  .ks-hero--dl .ks-hero__inner { margin-top: 8px; }
  .ks-hero--dl .ks-breadcrumb { background: none; border: 0; padding: 0; color: var(--ks-muted); -webkit-backdrop-filter: none; backdrop-filter: none; }
  .ks-hero--dl .ks-crumb a, .ks-hero--dl .ks-crumb li { color: var(--ks-muted); }
  .ks-hero--dl .ks-eyebrow { background: none; border: 0; padding: 0; min-height: 0; color: var(--ks-red); text-shadow: none; -webkit-backdrop-filter: none; backdrop-filter: none; margin: 6px 0 0; }
}
/* Filter als Segment-Leiste (Variante A, 09.09.2026) */
.ks-seg { margin: 0 0 16px; }
.ks-seg__track { position: relative; display: inline-flex; gap: 4px; padding: 5px; border-radius: 999px; background: var(--ks-cream2); max-width: 100%; }
.ks-seg__ind { position: absolute; top: 5px; left: 0; height: calc(100% - 10px); width: 0; border-radius: 999px; background: #fff; box-shadow: 0 8px 20px -10px rgba(107,29,34,.45), 0 1px 2px rgba(29,29,27,.06); transition: left .38s cubic-bezier(.2,.8,.2,1), width .38s cubic-bezier(.2,.8,.2,1); pointer-events: none; }
.ks-seg__btn { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 0 16px; border: 0; border-radius: 999px; background: transparent; color: var(--ks-muted); font-family: inherit; font-size: 13.5px; font-weight: 600; white-space: nowrap; cursor: pointer; transition: color .25s; }
.ks-seg__btn small { font-size: 11px; font-weight: 700; color: var(--ks-muted); background: rgba(29,29,27,.06); border-radius: 999px; padding: 2px 7px; line-height: 1.2; transition: background .25s, color .25s; }
.ks-seg__btn:hover { color: var(--ks-ink); }
.ks-seg__btn.is-on { color: var(--tone); }
.ks-seg__btn.is-on small { background: var(--tone); color: #fff; }
.ks-seg__btn:focus-visible { outline: 2px solid var(--tone); outline-offset: 2px; }
@media (max-width: 899px) {
  .ks-seg { margin: 0 calc(-1 * var(--ks-pad)) 14px; padding: 0 var(--ks-pad); overflow-x: auto; scrollbar-width: none; -webkit-mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%); mask-image: linear-gradient(90deg, #000 0, #000 calc(100% - 28px), transparent 100%); }
  .ks-seg::-webkit-scrollbar { display: none; }
  .ks-seg__track { max-width: none; flex-shrink: 0; margin-right: 24px; }
  .ks-seg__btn { min-height: 40px; padding: 0 14px; font-size: 13px; }
}
/* ---------- Artikelseiten v2 ---------- */
.ks-progress { position: fixed; left: 0; top: 0; width: 100%; height: 3px; z-index: 120; background: transparent; pointer-events: none; }
.ks-progress span { display: block; height: 100%; width: 0; background: var(--ks-red); transition: width .12s linear; }
.ks-hero--article .ks-hero__title { font-size: clamp(30px, 3.9vw, 52px); max-width: 640px; }
.ks-hero--article .ks-chip { align-self: flex-start; }
.ks-art__meta { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: -6px 0 0; font-size: 13.5px; color: var(--ks-muted); }
.ks-art__meta span { display: inline-flex; align-items: center; gap: 6px; }
@media (max-width: 899px) { .ks-hero--article .ks-chip { margin-top: 12px; } .ks-hero--article .ks-crumb li:nth-child(3):last-child { display: inline-flex; } }
.ks-art { padding-top: 40px; }
.ks-art__grid { display: grid; grid-template-columns: 250px minmax(0, 720px); gap: 56px; align-items: start; }
.ks-atoc { position: sticky; top: calc(var(--ks-hdr) + 20px); }
.ks-atoc__title { margin: 0 0 12px; font-size: 12px; letter-spacing: .16em; text-transform: uppercase; font-weight: 700; color: var(--ks-red); }
.ks-page .ks-atoc__list { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--ks-cream2); }
.ks-page .ks-atoc__list li { margin: 0; padding: 0; }
.ks-page .ks-atoc__list li::before { display: none; }
.ks-atoc__list a { display: flex; gap: 10px; align-items: baseline; padding: 7px 0 7px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: 13.5px; line-height: 1.35; color: var(--ks-muted); text-decoration: none; transition: color .2s, border-color .2s; }
.ks-atoc__n { font-size: 11px; font-weight: 700; color: var(--ks-cream2); letter-spacing: .04em; flex-shrink: 0; transition: color .2s; }
.ks-atoc__list a:hover { color: var(--ks-ink); }
.ks-atoc__list li.is-active a { color: var(--ks-ink); font-weight: 600; border-left-color: var(--ks-red); }
.ks-atoc__list li.is-active .ks-atoc__n { color: var(--ks-red); }
.ks-atoc__back { display: inline-flex; align-items: center; gap: 8px; margin-top: 20px; font-size: 13.5px; font-weight: 700; color: var(--ks-wine); }
.ks-atoc__back svg { transform: rotate(180deg); }
.ks-atoc-m { display: none; }
@media (max-width: 1099px) {
  .ks-art { padding-top: 24px; }
  .ks-art__grid { grid-template-columns: 1fr; gap: 20px; }
  .ks-atoc { display: none; }
  .ks-atoc-m { display: block; background: #fff; border-radius: 18px; padding: 0 20px; box-shadow: 0 24px 50px -40px rgba(107,29,34,.4); }
  .ks-atoc-m summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 16px 0; font-weight: 700; font-size: 15px; color: var(--ks-ink); }
  .ks-atoc-m summary::-webkit-details-marker { display: none; }
  .ks-atoc-m summary small { font-weight: 500; color: var(--ks-muted); font-size: 13px; }
  .ks-atoc-m summary::after { content: ''; margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--ks-muted); border-bottom: 2px solid var(--ks-muted); transform: rotate(45deg); transition: transform .3s; }
  .ks-atoc-m[open] summary::after { transform: rotate(-135deg); }
  .ks-page .ks-atoc-m ol { list-style: none; margin: 0; padding: 0 0 12px; counter-reset: tocm; }
  .ks-page .ks-atoc-m li { margin: 0; padding: 0; counter-increment: tocm; }
  .ks-page .ks-atoc-m li::before { display: none; }
  .ks-atoc-m li a { display: flex; gap: 10px; padding: 9px 0; font-size: 14px; line-height: 1.35; color: var(--c-text); border-top: 1px solid var(--ks-cream2); text-decoration: none; }
  .ks-atoc-m li a::before { content: counter(tocm, decimal-leading-zero); font-size: 11px; font-weight: 700; color: var(--ks-red); flex-shrink: 0; width: 22px; padding-top: 3px; }
}
/* Fließtext */
.ks-prose { font-size: 17px; line-height: 1.72; color: var(--c-text); min-width: 0; }
.ks-prose > p:first-of-type { font-size: 18px; }
.ks-prose p { margin: 0 0 18px; text-wrap: pretty; }
.ks-prose h2 { font-family: var(--f-display); font-weight: 800; font-size: clamp(23px, 2.3vw, 28px); line-height: 1.2; color: var(--ks-ink); letter-spacing: -.02em; margin: 46px 0 14px; scroll-margin-top: calc(var(--ks-hdr) + 20px); text-wrap: balance; }
.ks-prose h3 { font-family: var(--f-display); font-weight: 700; font-size: 20px; line-height: 1.25; color: var(--ks-ink); margin: 30px 0 10px; scroll-margin-top: calc(var(--ks-hdr) + 20px); }
.ks-page .ks-prose ul, .ks-page .ks-prose ol { margin: 0 0 20px; padding-left: 0; list-style: none; }
.ks-page .ks-prose ol { counter-reset: pl; }
.ks-page .ks-prose li { position: relative; margin: 0 0 8px; padding-left: 26px; line-height: 1.6; }
.ks-page .ks-prose ul > li::before { content: ''; position: absolute; left: 6px; top: .72em; width: 7px; height: 7px; border-radius: 999px; background: var(--ks-red); }
.ks-page .ks-prose ol > li { counter-increment: pl; }
.ks-page .ks-prose ol > li::before { content: counter(pl); position: absolute; left: 0; top: .2em; width: 20px; height: 20px; border-radius: 999px; background: var(--ks-red-soft); color: var(--ks-red); font-size: 11.5px; font-weight: 700; display: inline-flex; align-items: center; justify-content: center; }
.ks-prose li p { margin: 0; }
.ks-prose li blockquote { margin: 0; padding: 0; border: 0; }
.ks-prose blockquote { margin: 0 0 20px; padding: 4px 0 4px 20px; border-left: 3px solid var(--ks-cream2); color: var(--ks-muted); }
.ks-prose a:not(.ks-btn) { color: var(--ks-red); text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; }
.ks-prose .ks-btn--red { color: #fff; }
.ks-prose strong { color: var(--ks-ink); }
.ks-prose hr { border: 0; border-top: 1px solid var(--ks-cream2); margin: 32px 0; }
/* Callouts */
.ks-note { display: flex; gap: 12px; align-items: flex-start; font-size: 14px; line-height: 1.55; color: #7a5a12; background: #fbf0da; border-radius: 16px; padding: 14px 18px; margin: 0 0 28px; }
.ks-note::before { content: ''; flex-shrink: 0; width: 20px; height: 20px; margin-top: 1px; border-radius: 999px; background: #c07d12; -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 8v5M12 16h.01'/%3E%3C/svg%3E") center/contain no-repeat; }
.ks-keybox { position: relative; background: #fff; border-radius: 22px; padding: 26px 28px 22px; margin: 0 0 32px; box-shadow: 0 30px 60px -44px rgba(107,29,34,.4); border-top: 4px solid var(--ks-red); }
.ks-keybox h2 { margin: 0 0 12px; font-size: 22px; padding-left: 34px; position: relative; }
.ks-keybox h2::before { content: ''; position: absolute; left: 0; top: .1em; width: 24px; height: 24px; border-radius: 999px; background: var(--ks-red); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E") center/contain no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8.5 12.5l2.5 2.5 4.5-5'/%3E%3C/svg%3E") center/contain no-repeat; }
.ks-keybox p { font-size: 16px; }
.ks-keybox > :last-child { margin-bottom: 0; }
.ks-page .ks-keybox li { padding-left: 28px; }
.ks-page .ks-keybox ul > li::before { width: auto; height: auto; background: none; content: '✓'; top: 0; left: 4px; color: var(--ks-red); font-weight: 800; }
@media (max-width: 899px) { .ks-keybox { padding: 22px 22px 18px; border-radius: 18px; } .ks-prose { font-size: 16.5px; } .ks-prose > p:first-of-type { font-size: 17px; } }
/* Kurs-/Download-Box im Artikel */
.ks-artcta { background: var(--ks-wine); color: #fff; border-radius: 24px; padding: 30px 32px; margin: 40px 0 28px; }
.ks-artcta h2 { color: #fff; margin: 0 0 12px; font-size: 24px; }
.ks-artcta p { color: rgba(255,255,255,.84); font-size: 15.5px; }
.ks-artcta strong { color: #fff; }
.ks-artcta__btns { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 18px; }
.ks-artcta__btns .ks-btn { white-space: normal; text-align: center; line-height: 1.25; padding-top: 12px; padding-bottom: 12px; max-width: 100%; }
.ks-artcta__btns .ks-btn--cream { background: rgba(255,255,255,.12); color: #fff; border-color: rgba(255,255,255,.3); }
.ks-artcta__btns .ks-btn--cream:hover { background: #fff; color: var(--ks-wine); }
@media (max-width: 899px) { .ks-artcta { padding: 22px; border-radius: 20px; } .ks-artcta__btns .ks-btn { flex: 1 1 100%; } }
/* Quellen */
.ks-sources { background: var(--ks-cream2); border-radius: 18px; padding: 0 22px; margin: 0 0 8px; }
.ks-sources summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 10px; padding: 16px 0; font-weight: 700; font-size: 15px; color: var(--ks-ink); }
.ks-sources summary::-webkit-details-marker { display: none; }
.ks-sources summary svg { color: var(--ks-wine); }
.ks-sources__ic { margin-left: auto; width: 9px; height: 9px; border-right: 2px solid var(--ks-muted); border-bottom: 2px solid var(--ks-muted); transform: rotate(45deg); transition: transform .3s; }
.ks-sources[open] .ks-sources__ic { transform: rotate(-135deg); }
.ks-sources__inner { padding: 0 0 18px; font-size: 14px; line-height: 1.6; color: var(--ks-muted); }
.ks-sources__inner p, .ks-page .ks-sources__inner li { font-size: 14px; }
.ks-page .ks-sources__inner ul > li::before { background: var(--ks-muted); width: 5px; height: 5px; }
/* ---------- Über uns / Kontakt / Rechtliches v2 ---------- */
.ks-h3 { font-family: var(--f-display); font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--ks-ink); margin: 0 0 10px; line-height: 1.2; }
.ks-about__goal { margin-top: 26px; }
.ks-whogrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.ks-who { position: relative; background: #fff; border-radius: 22px; padding: 26px 24px 24px; overflow: hidden; box-shadow: 0 30px 60px -44px rgba(107,29,34,.4); min-height: 190px; display: flex; flex-direction: column; justify-content: flex-end; }
.ks-who__n { position: absolute; right: 18px; top: 12px; font-family: var(--f-display); font-size: 56px; font-weight: 800; letter-spacing: -.05em; line-height: 1; color: var(--ks-cream2); }
.ks-who h3 { position: relative; margin: 0 0 6px; font-family: var(--f-display); font-size: 20px; font-weight: 800; color: var(--ks-ink); letter-spacing: -.02em; }
.ks-who p { position: relative; margin: 0; font-size: 14.5px; line-height: 1.55; color: var(--ks-muted); text-wrap: pretty; }
.ks-att-band { padding: 64px 0; }
.ks-att__head { max-width: 720px; margin-bottom: 30px; }
.ks-att-band .ks-eyebrow { color: #f2b04a; }
.ks-att-band .ks-h2 { color: #fff; }
.ks-attgrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.ks-att { background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.14); border-radius: 22px; padding: 26px 26px 24px; }
.ks-att h3 { margin: 0 0 8px; font-family: var(--f-display); font-size: 20px; font-weight: 800; color: #fff; letter-spacing: -.02em; line-height: 1.2; }
.ks-att h3::before { content: ''; display: block; width: 36px; height: 3px; border-radius: 2px; background: #f2b04a; margin-bottom: 16px; }
.ks-att p { margin: 0; font-size: 15px; line-height: 1.55; color: rgba(255,255,255,.8); text-wrap: pretty; }
.ks-prom { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.ks-prom__close { margin: 18px 0 0; font-family: var(--f-display); font-size: 18px; font-weight: 700; color: var(--ks-wine); line-height: 1.4; text-wrap: pretty; }
.ks-page .ks-prom__list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.ks-page .ks-prom__list li { position: relative; margin: 0; padding: 16px 20px 16px 58px; background: #fff; border-radius: 18px; font-family: var(--f-display); font-size: 18px; font-weight: 700; color: var(--ks-ink); box-shadow: 0 24px 50px -40px rgba(107,29,34,.4); }
.ks-page .ks-prom__list li::before { content: '✓'; position: absolute; left: 18px; top: 50%; transform: translateY(-50%); width: 28px; height: 28px; border-radius: 999px; background: var(--ks-red-soft); color: var(--ks-red); font-size: 14px; font-weight: 800; display: inline-flex; align-items: center; justify-content: center; }
.ks-band--plain { height: 420px; border-radius: 0; }
.ks-band--plain .ks-band__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; display: block; }
@media (max-width: 1099px) { .ks-whogrid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 899px) { .ks-attgrid { grid-template-columns: 1fr; } .ks-att-band { padding: 48px 0; } .ks-prom { grid-template-columns: 1fr; gap: 22px; } .ks-band--plain { height: 260px; } .ks-who { min-height: 150px; padding: 22px 20px 20px; } .ks-who__n { font-size: 44px; } .ks-page .ks-prom__list li { font-size: 16px; padding: 14px 16px 14px 54px; } }
@media (max-width: 479px) { .ks-whogrid { grid-template-columns: 1fr; } }
/* Kontakt */
.ks-contact__grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 32px; align-items: start; }
.ks-contact__info { background: #fff; border-radius: 26px; overflow: hidden; box-shadow: 0 30px 60px -44px rgba(107,29,34,.4); }
.ks-contact__photo { aspect-ratio: 4 / 3; overflow: hidden; }
.ks-contact__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ks-contact__body { padding: 24px 26px 26px; display: flex; flex-direction: column; gap: 12px; }
.ks-contact__row { display: flex; gap: 14px; align-items: flex-start; font-size: 15px; line-height: 1.5; color: var(--ks-ink); text-decoration: none; }
.ks-contact__row small { display: block; font-size: 11px; letter-spacing: .12em; text-transform: uppercase; font-weight: 700; color: var(--ks-muted); margin-bottom: 2px; }
a.ks-contact__row:hover { color: var(--ks-red); }
.ks-contact__ic { flex-shrink: 0; width: 38px; height: 38px; border-radius: 12px; background: var(--ks-cream2); color: var(--ks-wine); display: inline-flex; align-items: center; justify-content: center; }
.ks-contact__ic--red { background: var(--ks-red-soft); color: var(--ks-red); }
.ks-contact__urgent { margin: 8px 0 0; padding: 14px 16px; border-radius: 16px; background: #fff8f8; border: 1px solid #f6d3d5; display: flex; gap: 12px; align-items: center; font-size: 13.5px; line-height: 1.5; color: var(--c-text); }
.ks-form { background: #fff; border-radius: 26px; padding: 34px 36px 32px; box-shadow: 0 30px 60px -44px rgba(107,29,34,.4); display: flex; flex-direction: column; gap: 16px; }
.ks-form__hint { margin: 0 0 4px; font-size: 13px; color: var(--ks-muted); }
.ks-form__grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.ks-field { display: flex; flex-direction: column; gap: 6px; }
.ks-field > span { font-size: 12.5px; font-weight: 700; letter-spacing: .04em; color: var(--ks-ink); }
.ks-field input, .ks-field select, .ks-field textarea { width: 100%; min-height: 50px; padding: 12px 16px; border-radius: 14px; border: 1.5px solid var(--ks-cream2); background: var(--ks-cream); font-family: inherit; font-size: 15px; color: var(--ks-ink); transition: border-color .2s, box-shadow .2s, background .2s; }
.ks-field textarea { min-height: 150px; resize: vertical; }
.ks-field select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b6b66' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 16px center; background-size: 16px; padding-right: 44px; }
.ks-field input:focus, .ks-field select:focus, .ks-field textarea:focus { outline: none; border-color: var(--ks-red); background: #fff; box-shadow: 0 0 0 4px rgba(216,37,41,.12); }
.ks-check-row { display: flex; gap: 12px; align-items: flex-start; font-size: 13.5px; line-height: 1.5; color: var(--ks-muted); }
.ks-check-row input { width: 20px; height: 20px; margin-top: 2px; accent-color: var(--ks-red); flex-shrink: 0; }
.ks-check-row a { color: var(--ks-red); }
.ks-form .ks-btn { align-self: flex-start; }
.ks-form__note { margin: 0; font-size: 12.5px; color: var(--ks-muted); }
@media (max-width: 999px) { .ks-contact__grid { grid-template-columns: 1fr; } .ks-contact__photo { aspect-ratio: 16 / 9; } }
@media (max-width: 899px) { .ks-form { padding: 22px; border-radius: 22px; } .ks-form__grid { grid-template-columns: 1fr; } .ks-form .ks-btn { align-self: stretch; } }
/* Rechtliches */
.ks-legalhead { padding: 36px 0 8px; }
.ks-legalhead__title { font-size: clamp(32px, 4vw, 48px); margin: 8px 0 0; }
.ks-legalhead .ks-breadcrumb { margin-bottom: 14px; }
.ks-art__grid--single { grid-template-columns: minmax(0, 760px); }
.ks-prose--legal { font-size: 16px; }
.ks-prose--legal h2 { font-size: 22px; margin-top: 40px; }
.ks-prose--legal h2:first-child { margin-top: 8px; }
.ks-prose--legal h3 { font-size: 17.5px; margin-top: 24px; }
.ks-atoc--legal .ks-atoc__list a { font-size: 12.5px; padding: 5px 0 5px 14px; }
@media (max-width: 899px) { .ks-legalhead { padding: 24px 0 4px; } }
.ks-form label { font-weight: 400; } .ks-form label.ks-field { display: flex; } .ks-form label.ks-check-row { display: flex; } .ks-form .ks-check-row span { font-weight: 400; }
/* Typografie-Feinschliff (QA 09/2026) */
.ks-hero .ks-hero__title--long, .ks-hero--topic .ks-hero__title--long { font-size: clamp(29px, 4.3vw, 56px); }
.ks-ea h3, .ks-fc h4, .ks-kc h3, .ks-faqc h3, .ks-who h3, .ks-att h3, .ks-toc__item h3, .ks-cd__body .ks-h2, .ks-galhead .ks-h2, .ks-cta .ks-h2, .ks-intro__text .ks-h2 { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: break-word; }
.ks-prose, .ks-prose p, .ks-prose li, .ks-prose h2, .ks-prose h3 { overflow-wrap: anywhere; }
.ks-legalhead__title { font-size: clamp(26px, 7.2vw, 48px); hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
@media (max-width: 899px) { .ks-prose h2, .ks-prose h3, .ks-hero__title { hyphens: auto; -webkit-hyphens: auto; } }

/* ===== Sicherheits-Check „Ergebnis-Karte“ (Desktop + Mobil) ===== */
.ks-check__grid { grid-template-columns: 1fr 400px; gap: 60px; }
.ks-rescard { position: relative; background: #fff; color: var(--ks-ink); border-radius: 26px; padding: 24px 24px 22px; box-shadow: 0 50px 80px -44px rgba(0,0,0,.55); transform: rotate(-2deg); margin: 0 10px; }
.js .ks-rescard.ks-rv { transform: rotate(-2deg) translateY(18px); }
.js .ks-rescard.ks-rv.is-in { transform: rotate(-2deg); }
.ks-rescard::before { content: ''; position: absolute; inset: 0; border-radius: 26px; background: #fff; transform: rotate(3.5deg); z-index: -1; opacity: .55; }
.ks-rescard__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 14px; }
.ks-rescard__head b { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--ks-red); }
.ks-rescard__head small { font-size: 11px; color: var(--ks-muted); }
.ks-rescard__body { display: grid; grid-template-columns: 136px 1fr; gap: 18px; align-items: center; }
.ks-rescard .ks-ring { width: 136px; height: 136px; margin: 0; color: var(--ks-ink); }
.ks-rescard .ks-ring__track { stroke: rgba(107,29,34,.12); }
.ks-rescard .ks-ring__num { font-size: 38px; }
.ks-rescard .ks-ring__label { color: var(--ks-muted); font-size: 8px; letter-spacing: .08em; }
.ks-page .ks-check ul.ks-rooms { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px; }
.ks-page .ks-rooms li { font-size: 12px; font-weight: 600; padding: 6px 11px; border-radius: 999px; background: var(--ks-cream2); color: var(--ks-wine); margin: 0; display: flex; gap: 6px; align-items: center; line-height: 1.3; }
.ks-page .ks-rooms li::before { content: '✓'; color: var(--ks-red); font-weight: 700; }
.ks-rescard__foot { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--ks-cream2); display: flex; gap: 8px; align-items: center; font-size: 12px; color: var(--ks-muted); flex-wrap: wrap; }
.ks-rescard__foot span { display: inline-flex; gap: 4px; flex-wrap: wrap; }
.ks-rescard__foot em { font-style: normal; font-weight: 700; color: var(--ks-ink); background: var(--ks-cream); border-radius: 999px; padding: 4px 9px; font-size: 11px; }
@media (max-width: 899px) {
  .ks-check__grid { grid-template-columns: 1fr; gap: 22px; }
  .ks-check .ks-check__grid > div:first-child > ul { display: none; }
  .ks-check__text { margin-bottom: 18px; }
  .ks-check .ks-btn { width: 100%; }
  .ks-rescard { border-radius: 24px; padding: 20px 20px 18px; transform: rotate(-1.5deg); margin: 22px 6px 0; }
  .js .ks-rescard.ks-rv { transform: rotate(-1.5deg) translateY(18px); }
  .js .ks-rescard.ks-rv.is-in { transform: rotate(-1.5deg); }
  .ks-rescard__body { grid-template-columns: 120px 1fr; gap: 16px; }
  .ks-rescard .ks-ring { width: 120px; height: 120px; }
  .ks-rescard .ks-ring__num { font-size: 34px; }
  /* „Warum“: 2×2 Kacheln mit Icon */
  .ks-why__list { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .ks-why__list li { display: block; border: 0; padding: 16px 14px 16px; background: var(--ks-cream); border-radius: 18px; }
  .ks-why__list li:first-child { padding-top: 16px; }
  .ks-why__list .ks-why__ico { width: 40px; height: 40px; border-radius: 12px; background: #fff; margin-bottom: 12px; box-shadow: 0 6px 16px -10px rgba(107,29,34,.35); }
  .ks-why__ico svg { width: 20px; height: 20px; }
  .ks-why__list b { font-size: 16px; margin: 0 0 4px; }
  .ks-why__list span { font-size: 12.5px; hyphens: auto; -webkit-hyphens: auto; }
}

/* ===== Boxen v2 (10.09.2026): Fakten-Karte, Über-uns-Kacheln, All-Access-Karte ===== */
/* Fakten-Karte v2 */
.ks-facts{position:relative;background:var(--ks-wine);color:#fff;border-radius:24px;padding:26px 24px 22px;overflow:hidden}
.ks-facts::before{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(242,176,74,.28),rgba(242,176,74,0) 70%);pointer-events:none}
.ks-facts::after{content:'';position:absolute;left:-40px;bottom:-80px;width:200px;height:200px;border-radius:999px;background:radial-gradient(circle,rgba(255,255,255,.08),rgba(255,255,255,0) 70%);pointer-events:none}
.ks-facts .ks-eyebrow{color:#f2b04a;display:block;margin-bottom:14px;position:relative}
.ks-facts__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;position:relative}
.ks-facts__list li{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:center;padding:13px 0;border-top:1px solid rgba(255,255,255,.12)}
.ks-facts__list li:first-child{border-top:0;padding-top:2px}
.ks-facts__list li:last-child{padding-bottom:2px}
.ks-facts__ico{width:44px;height:44px;border-radius:14px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#f2b04a}
.ks-facts__ico svg{width:21px;height:21px}
.ks-facts__list small{display:block;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:rgba(255,255,255,.62);margin-bottom:3px}
.ks-facts__list b{display:block;font-family:var(--f-display);font-size:17px;font-weight:700;line-height:1.25;color:#fff;letter-spacing:-.01em}
/* Über uns: Themen-Kacheln */
.ks-cover{position:relative;background:var(--ks-wine);color:#fff;border-radius:24px;padding:26px 22px 22px;overflow:hidden}
.ks-cover::before{content:'';position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:999px;background:radial-gradient(circle,rgba(242,176,74,.28),rgba(242,176,74,0) 70%);pointer-events:none}
.ks-cover .ks-eyebrow{color:#f2b04a;display:block;margin-bottom:14px;position:relative}
.ks-cover__grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;list-style:none;margin:0;padding:0;position:relative}
.ks-cover__grid li{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:14px 12px 12px;display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.35;font-weight:600}
.ks-cover__grid svg{width:20px;height:20px;color:#f2b04a}

@media (max-width: 899px) { .ks-facts, .ks-cover { padding: 22px 20px 18px; } }
/* Startseite All-Access-Karte v3 „Mosaik“ (Chris 10.09.2026) */
.ks-kc--aa{position:relative;overflow:hidden;justify-content:flex-start}
.ks-kc--aa::before{content:'';position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:999px;background:radial-gradient(circle,rgba(242,176,74,.3),rgba(242,176,74,0) 70%);pointer-events:none}

.ks-kc__inc{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:9px}
.ks-kc__inc li{display:flex;align-items:center;gap:10px;font-size:13.5px;font-weight:600;color:#fff}
.ks-kc__inc li span{width:30px;height:30px;border-radius:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;color:#f2b04a;flex-shrink:0}
.ks-kc__inc svg{width:16px;height:16px}
.ks-kc--aa .ks-kc__foot{margin-top:auto;padding-top:14px}

.ks-kc__mosaic{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:10px 0 4px;flex:1 1 auto;align-content:center}
.ks-kc__mosaic figure{margin:0;position:relative;border-radius:12px;overflow:hidden;aspect-ratio:16/11;box-shadow:0 18px 30px -20px rgba(0,0,0,.7)}
.ks-kc__mosaic img{width:100%;height:100%;object-fit:cover;display:block}
.ks-kc__mosaic .ks-play{width:38px;height:38px;margin:-19px 0 0 -19px}.ks-kc__mosaic .ks-play svg{width:16px;height:16px}
.ks-kc__mosaic figure.is-doc{background:#f5efe4;display:flex;align-items:center;justify-content:center}
.ks-kc__mosaic figure.is-doc img{width:72%;height:auto;object-fit:contain;box-shadow:0 10px 20px -10px rgba(0,0,0,.4)}
@media (min-width: 900px) {
  .ks-kc--aa { width: 600px; padding: 22px 26px 24px; justify-content: flex-start; }
  .ks-kc--aa .ks-kc__mosaic { order: -1; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 0 0 16px; flex: 0 0 auto; }
  .ks-kc--aa .ks-kc__mosaic figure { aspect-ratio: 16 / 10; }
  .ks-kc--aa .ks-kc__mosaic .ks-play { width: 34px; height: 34px; margin: -17px 0 0 -17px; } .ks-kc--aa .ks-kc__mosaic .ks-play svg { width: 14px; height: 14px; }
  .ks-kc--aa .ks-eyebrow { white-space: nowrap; }
  .ks-kc--aa p { font-size: 13.5px; margin-bottom: 6px; max-width: 480px; }
  .ks-kc--aa .ks-kc__inc { gap: 8px; margin-top: 8px; }
  .ks-kc--aa .ks-kc__inc li { font-size: 13px; } .ks-kc--aa .ks-kc__inc li span { width: 26px; height: 26px; border-radius: 8px; } .ks-kc--aa .ks-kc__inc svg { width: 14px; height: 14px; }
  .ks-kc--aa .ks-kc__foot { margin-top: auto; padding-top: 12px; }
}
}
/* Kurskarten: Inhaltsvorschau (Chris 10.09.2026) */
.ks-kc__list { list-style: none; margin: 4px 0 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.ks-kc__list li { display: flex; gap: 8px; align-items: flex-start; font-size: 12.5px; line-height: 1.4; color: var(--ks-ink); }
.ks-kc__list li::before { content: ''; width: 16px; height: 16px; flex-shrink: 0; margin-top: 1px; border-radius: 999px; background: var(--ks-cream2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%236b1d22'%3E%3Cpath d='M9 7v10l8-5z'/%3E%3C/svg%3E") center/10px no-repeat; }
.ks-kc__list li.is-more { color: var(--ks-muted); font-weight: 600; }
.ks-kc__list li.is-more::before { background: var(--ks-cream2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236b1d22' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 12h.01M12 12h.01M18 12h.01'/%3E%3C/svg%3E") center/11px no-repeat; }
@media (max-width: 899px) {
  .ks-kc--aa { padding: 22px 22px 20px; }
  .ks-kc--aa .ks-eyebrow { white-space: nowrap; letter-spacing: .1em; font-size: 11px; }
  .ks-kc--aa h3 { font-size: 24px; } .ks-kc--aa p { font-size: 13.5px; }
  .ks-kc__mosaic { gap: 6px; margin: 8px 0 2px; } .ks-kc__mosaic figure { aspect-ratio: 16 / 10; }
  .ks-kc__inc { gap: 7px; } .ks-kc__inc li { font-size: 13px; } .ks-kc__inc li span { width: 26px; height: 26px; border-radius: 8px; } .ks-kc__inc svg { width: 14px; height: 14px; }
}
/* Rechtsseiten v2 (Chris 10.09.2026): Kontaktkarte, Nummerierung, „Nach oben“ */
.ks-legal__col { min-width: 0; }
.ks-facts--legal { margin-bottom: 28px; }
.ks-facts--legal .ks-facts__list { display: grid; grid-template-columns: 1fr 1fr; gap: 0 22px; }
.ks-facts--legal .ks-facts__list li { border-top: 0; padding: 8px 0; }
.ks-facts--legal .ks-facts__list li:first-child { padding-top: 8px; }
.ks-facts--legal .ks-facts__list b { font-size: 14.5px; overflow-wrap: anywhere; }
.ks-legal__law { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; font-weight: 600; color: var(--ks-muted); margin: 0 0 6px; }
.ks-prose--legal h2 { display: flex; gap: 12px; align-items: baseline; scroll-margin-top: 110px; }
.ks-legal__up { margin: 10px 0 0; font-size: 12.5px; }
.ks-prose .ks-legal__up a { color: var(--ks-muted); text-decoration: none; font-weight: 600; letter-spacing: .04em; border: 0; }
.ks-prose .ks-legal__up a:hover { color: var(--ks-red); }
@media (max-width: 899px) { .ks-facts--legal .ks-facts__list { grid-template-columns: 1fr; } .ks-facts--legal { margin-bottom: 20px; } .ks-facts--legal .ks-facts__list b { font-size: 13.5px; } }
/* ===== Mobiles Menü: Vollbild-Sheet (Variante A, Chris 10.09.2026) ===== */
.ks-menu { position: fixed; inset: 0; z-index: 999; display: none; flex-direction: column; overflow: auto; background: var(--ks-cream); font-family: var(--f-body); -webkit-overflow-scrolling: touch; }
.ks-menu.is-open { display: flex; animation: ksMenuIn .32s cubic-bezier(.2,.7,.2,1); }
@keyframes ksMenuIn { from { opacity: 0; transform: translateY(-12px); } to { opacity: 1; transform: none; } }
.ks-menu__head { display: flex; align-items: center; justify-content: space-between; padding: 20px 20px 10px; }
.ks-menu__head img { height: 44px; width: auto; display: block; }
.ks-menu__close { width: 44px; height: 44px; border-radius: 999px; border: 1px solid rgba(107,29,34,.18); background: #fff; color: var(--ks-ink); display: flex; align-items: center; justify-content: center; box-shadow: 0 10px 24px -16px rgba(107,29,34,.4); cursor: pointer; padding: 0; }
.ks-menu__close svg { width: 20px; height: 20px; }
.ks-menu__body { padding: 8px 20px 28px; display: flex; flex-direction: column; gap: 18px; flex: 1; }
.ks-menu .ks-eyebrow { margin: 6px 0 -6px; }
.ks-menu__grid { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 8px; }
.ks-menu__tile { display: flex; flex-direction: column; gap: 10px; padding: 14px 12px 12px; border-radius: 16px; background: #fff; color: var(--ks-ink); text-decoration: none; font-size: 12.5px; font-weight: 600; line-height: 1.25; box-shadow: 0 14px 30px -24px rgba(107,29,34,.45); hyphens: auto; -webkit-hyphens: auto; transition: transform .2s, box-shadow .2s; }
.ks-menu__tile:active { transform: scale(.97); }
.ks-menu__tico { width: 36px; height: 36px; border-radius: 11px; background: var(--ks-cream2); color: var(--ks-wine); display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ks-menu__tico svg { width: 18px; height: 18px; }
.ks-menu__rows { display: flex; flex-direction: column; }
.ks-menu__row { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 2px; border-top: 1px solid rgba(107,29,34,.12); color: var(--ks-ink); text-decoration: none; }
.ks-menu__row:last-child { border-bottom: 1px solid rgba(107,29,34,.12); }
.ks-menu__row b { display: block; font-family: var(--f-display); font-size: 24px; font-weight: 700; letter-spacing: -.01em; line-height: 1.1; }
.ks-menu__row small { display: block; font-size: 12.5px; color: var(--ks-muted); margin-top: 4px; }
.ks-menu__row svg { width: 22px; height: 22px; color: var(--ks-red); flex-shrink: 0; }
.ks-menu__cta { margin-top: auto; padding-top: 8px; }
.ks-menu__login { position: relative; overflow: hidden; display: flex; align-items: center; gap: 14px; padding: 14px 18px 14px 14px; border-radius: 999px; background: linear-gradient(135deg, #7a232a, var(--ks-wine) 55%, #4f1418); color: #fff; text-decoration: none; box-shadow: 0 22px 40px -22px rgba(107,29,34,.7); }
.ks-menu__login::before { content: ''; position: absolute; right: -40px; top: -60px; width: 180px; height: 180px; border-radius: 999px; background: radial-gradient(circle, rgba(242,176,74,.35), rgba(242,176,74,0) 70%); pointer-events: none; }
.ks-menu__login::after { content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; background: linear-gradient(100deg, rgba(255,255,255,0), rgba(255,255,255,.18), rgba(255,255,255,0)); transform: skewX(-18deg); animation: ksSheen 3.2s ease-in-out 1s infinite; pointer-events: none; }
@keyframes ksSheen { 0% { left: -60%; } 40%, 100% { left: 130%; } }
.ks-menu__lico { width: 44px; height: 44px; border-radius: 999px; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.25); color: #f2b04a; display: flex; align-items: center; justify-content: center; flex-shrink: 0; position: relative; }
.ks-menu__lico svg { width: 20px; height: 20px; }
.ks-menu__ltext { flex: 1; position: relative; }
.ks-menu__ltext b { display: block; font-family: var(--f-display); font-size: 18px; font-weight: 700; line-height: 1.1; }
.ks-menu__ltext small { display: block; font-size: 12px; color: rgba(255,255,255,.7); margin-top: 3px; }
.ks-menu__login > svg { width: 22px; height: 22px; color: #f2b04a; flex-shrink: 0; position: relative; }
body.ks-menu-open { overflow: hidden; }
@media (max-width: 1099px) { #kDeskNav, #kNav.is-open { display: none !important; } }
@media (min-width: 1100px) { .ks-menu { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .ks-menu__login::after { animation: none; } .ks-menu.is-open { animation: none; } }
/* Galerien mobil: mehr Luft, kräftigere Wisch-Punkte (Chris 10.09.2026, Variante A) */
@media (max-width: 899px) {
  .ks-gal { padding-bottom: 14px; }
  .ks-dots { margin: 6px 0 0; gap: 7px; }
  .ks-dots li { width: 8px; height: 8px; background: rgba(107,29,34,.28); }
  .ks-dots li.is-on { width: 26px; }
  .ks-dots + .ks-why { margin-top: 40px; }
  .ks-dots + p { margin-top: 24px !important; }
}
