/* kit.css — Design-Tokens + alle Komponenten-Styles des Kits.
   Theming-Modell: Das Panel (kit-panel.js) ändert NUR die CSS-Variablen unten
   bzw. schaltet html.*-Modifier-Klassen (z. B. html.card-side, html.dens-compact).
   Komponenten lesen ausschließlich Tokens — so bleibt jede Kombination konsistent. */

:root{
  /* Schrift: Familien setzt kit-theme.js (Bunny Fonts); --fs ist der globale Größenfaktor */
  --font-head:"Inter", system-ui, -apple-system, sans-serif;
  --font-body:"Inter", system-ui, -apple-system, sans-serif;
  --fs:1;
  --text-base:calc(18px*var(--fs)); --text-h1:calc(50px*var(--fs)); --lh-h1:1.12; --text-card-title:calc(18px*var(--fs)); --text-nav:16px;
  --lh-body:1.55; --track-head:-.01em; --case-head:none; --align-head:left; --card-ar:16/9;
  --weight-heading:700; --weight-body:400;
  /* Farben: brand/accent wählt der Creator; ink* /line/hairline folgen Hell/Dunkel */
  --color-ink:#291E38; --color-ink-soft:#6B6577; --color-brand:#137EC0; --color-accent:#FF7264;
  --color-line:#9A95A6; --color-hairline:#ECEAEF; --color-bg:#FFFFFF; --btn-fg:#FFFFFF;
  /* Linien: --rule = allgemeine Trennlinien, --rule-sec = Sektions-Trenner (Figma) */
  --rule:#C2C2C2; --rule-sec:#000000;
  --radius-btn:1px; --radius-card:0; --container:1024px;
}
*,*::before,*::after{box-sizing:border-box;}
/* Skip-Link: unsichtbar bis Tastatur-Fokus */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:var(--color-brand);color:#fff;padding:10px 16px;font-size:14px;border-radius:0 0 8px 0;}
.skip-link:focus{left:0;}
html{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
body{margin:0;background:var(--color-bg);color:var(--color-ink);font-family:var(--font-body);
     font-size:var(--text-base);font-weight:var(--weight-body);line-height:var(--lh-body);}
a{color:inherit;text-decoration:none;} img{display:block;max-width:100%;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.btn{display:inline-block;font:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;
     text-transform:uppercase;padding:11px 20px;border:1px solid transparent;cursor:pointer;border-radius:var(--radius-btn);}
.btn--primary{background:var(--color-brand);color:var(--btn-fg);}
.btn--outline{background:#fff;color:var(--color-ink);border-color:#d7d4dd;}
.nav-action{font:inherit;font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);cursor:pointer;background:none;border:0;transition:color .15s;}
.nav-action:hover{color:var(--color-brand);}

/* ------------------------------------------------------------------ Header */
.site-header{border-bottom:0;background:#fff;}
.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:74px;}
.brand{display:flex;align-items:center;gap:11px;}
.brand__logo{width:34px;height:34px;border-radius:2px;background:url(/assets/logo.png) center/cover no-repeat;flex:none;}
/* global hochgeladenes Logo (KV): skaliert proportional in 240×32 */
.brand__logo-img{max-height:32px;max-width:240px;width:auto;height:auto;display:block;flex:none;object-fit:contain;}
.brand__name{font-weight:700;font-size:15px;letter-spacing:.13em;text-transform:uppercase;}
.header-actions{display:flex;align-items:center;gap:12px;}
.tabs{border-bottom:1px solid var(--color-hairline);background:#fff;}
.tabs__bar{display:flex;align-items:center;gap:30px;}
.tabs__inner{display:flex;gap:30px;}
.tab{display:inline-block;padding:16px 2px;font-size:var(--text-nav);color:var(--color-ink-soft);
     border-bottom:2px solid transparent;margin-bottom:-1px;}
.tab--active{color:var(--color-ink);border-bottom-color:var(--color-accent);font-weight:500;}
.site-header--center .site-header__inner{justify-content:center;position:relative;}
.site-header--center .header-actions{position:absolute;right:0;top:50%;transform:translateY(-50%);}
.tabs--center .tabs__bar{justify-content:center;}
.tabs__search{display:inline-flex;align-items:center;align-self:center;color:var(--color-ink-soft);cursor:pointer;}
.tabs__search svg{width:16px;height:16px;}
.header-actions steady-login-button{display:inline-flex;align-items:center;}
.login-link--fb{display:none;} .login-link--fb.is-on{display:inline-block;}
.login-link{font:inherit;font-size:13px;font-weight:600;letter-spacing:.02em;color:var(--color-ink);cursor:pointer;text-decoration:none;}
.login-link:hover{color:var(--color-brand);}
.site-header--center .login-link{font-size:12px;text-transform:uppercase;letter-spacing:.06em;}
/* Figma-Nav: abgerundeter Pill-Rahmen statt Linien, sticky, horizontaler Überlauf, runde Suche */
html.nav-figma .tabs{border-bottom:0;background:transparent;padding:14px 0;position:sticky;top:0;z-index:40;}
html.nav-figma .tabs__bar{justify-content:center;gap:12px;}
html.nav-figma .tabs__inner{min-width:0;flex:0 1 auto;display:inline-flex;width:auto;border:1px solid #2A2A2A;border-radius:12px;padding:12px 40px;gap:26px;align-items:center;background:#fff;overflow-x:auto;scrollbar-width:none;}
html.nav-figma .tabs__inner::-webkit-scrollbar{display:none;}
html.nav-figma .tab{text-transform:uppercase;font-weight:700;letter-spacing:.5px;font-size:14px;color:var(--color-ink);border-bottom:0;margin-bottom:0;padding:2px 0;white-space:nowrap;flex:none;}
html.nav-figma .tab--active{text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px;}
html.nav-figma .tabs__search{flex:none;align-self:stretch;width:52px;border:1px solid #2A2A2A;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;background:#fff;color:var(--color-ink);}
html.nav-figma .tabs__search svg{width:17px;height:17px;}

/* ------------------------------------------------------------------ Hero (Aufmacher klein) */
.hero{padding:56px 0 44px;}
.hero__grid{display:grid;grid-template-columns:1.25fr 1fr;gap:48px;align-items:center;}
.hero__title{font-size:var(--text-h1);line-height:var(--lh-h1);font-weight:var(--weight-heading);margin:0 0 18px;letter-spacing:var(--track-head);text-transform:var(--case-head);}
.hero__title a{transition:color .15s;} .hero__title a:hover{color:var(--color-brand);}
.hero__excerpt{font-size:19px;line-height:1.55;color:var(--color-ink-soft);margin:0 0 20px;max-width:46ch;}
.hero__date{font-size:14px;color:var(--color-ink-soft);}
.hero__medialink{display:block;}
.hero__media{width:100%;aspect-ratio:var(--card-ar);background:var(--color-line);border-radius:var(--radius-card);object-fit:cover;}

/* ------------------------------------------------------------------ Pills (Chip, Figma Badge 74:693) */
.pills{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;padding:8px 0 40px;}
.pill{display:inline-flex;align-items:center;font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.5px;text-transform:uppercase;color:var(--color-brand);
      border:1px solid var(--color-brand);border-radius:100px;padding:3px 10px;background:transparent;line-height:1.25;white-space:nowrap;transition:background-color .15s,color .15s;}
.pill:hover{background:var(--color-brand);color:var(--btn-fg,#fff);}

/* ------------------------------------------------------------------ Teaser-Grid */
.grid{display:grid;grid-template-columns:repeat(var(--grid-cols,3),1fr);gap:36px 30px;padding-bottom:48px;}
.card__media{width:100%;aspect-ratio:var(--card-ar);background:var(--color-line);border-radius:var(--radius-card);object-fit:cover;}
.card__title{font-size:var(--text-card-title);font-weight:700;line-height:1.3;margin:14px 0 0;letter-spacing:var(--track-head);text-transform:var(--case-head);transition:color .15s;}
.card:hover .card__title{color:var(--color-brand);}
.card__excerpt{font-size:14px;color:var(--color-ink-soft);line-height:1.45;margin:7px 0 0;}
.card__date{font-size:13px;color:var(--color-ink-soft);margin-top:9px;}

/* ------------------------------------------------------------------ Einzelpost */
.post{max-width:984px;margin:0 auto;padding:46px 24px 24px;}
.post__col{max-width:600px;margin-left:auto;margin-right:auto;}
.post__back{display:inline-flex;align-items:center;gap:7px;font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:30px;}
.post__back svg{width:13px;height:13px;}
.post__eyebrow{margin:0 0 18px;}
.post__title{font-size:calc(48px*var(--fs));line-height:1.06;font-weight:var(--weight-heading);letter-spacing:var(--track-head);text-transform:var(--case-head);color:var(--color-ink);margin:0;}
.post__lede{font-family:var(--font-body);font-size:calc(22px*var(--fs));line-height:1.45;color:var(--color-ink);margin:30px 0 0;}
.post__meta{font-family:var(--font-head);font-size:15px;line-height:20px;color:var(--color-ink-soft);margin:30px 0 0;}
.post__hero{margin:40px 0 0;}
.post__hero img{width:100%;aspect-ratio:var(--card-ar);object-fit:cover;border-radius:var(--radius-card);background:var(--color-line);}
.post__cap{font-family:var(--font-head);font-size:15px;line-height:20px;color:#6a6a6a;margin:8px 0 0;}
.post__cap .credit{color:#bfbfbf;}
.post__bodywrap{margin:40px auto 0;}
.post__foot{margin:40px auto 0;padding-top:22px;border-top:1px solid var(--rule);}
/* echte Reaktionen: Clap (KV-Zähler) + Teilen (Web Share API) */
.post__react{display:flex;align-items:center;gap:14px;}
.post__clap,.post__share{display:inline-flex;align-items:center;gap:8px;font:inherit;font-family:var(--font-head);font-size:14px;font-weight:600;color:var(--color-ink-soft);background:none;border:1px solid var(--color-hairline);border-radius:100px;padding:8px 16px;cursor:pointer;transition:color .15s,border-color .15s,transform .1s;}
.post__clap:hover,.post__share:hover{color:var(--color-brand);border-color:var(--color-brand);}
.post__clap:active{transform:scale(1.07);}
.post__clap svg,.post__share svg{width:18px;height:18px;}
/* Nachbar-Navigation unter dem Beitrag */
.post-nav{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:34px auto 0;padding-top:22px;border-top:1px solid var(--rule);}
.post-nav__a{display:block;min-width:0;}
.post-nav__a--prev{text-align:right;}
.post-nav__a em{display:block;font-style:normal;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink-soft);margin-bottom:6px;}
.post-nav__a span{font-family:var(--font-head);font-size:15px;font-weight:600;line-height:1.35;color:var(--color-ink);transition:color .15s;}
.post-nav__a:hover span{color:var(--color-brand);}
.post__body{font-family:var(--font-body);font-size:calc(22px*var(--fs));line-height:var(--lh-body);color:var(--color-ink);}
.post__body p{margin:0 0 26px;} .post__body p.lede{font-weight:600;}
/* Volltext-Inhalte (content:encoded aus dem Steady-Feed) */
.post__body--full img{display:block;width:100%;height:auto;border-radius:var(--radius-card);margin:24px 0;}
.post__body--full figure{margin:24px 0;} .post__body--full figcaption{font-size:calc(15px*var(--fs));color:var(--color-ink-soft);margin-top:8px;text-align:center;}
.post__body--full h2{font-family:var(--font-head);font-weight:var(--weight-heading);font-size:calc(30px*var(--fs));line-height:1.18;letter-spacing:-.01em;margin:38px 0 14px;}
.post__body--full h3{font-family:var(--font-head);font-weight:var(--weight-heading);font-size:calc(23px*var(--fs));line-height:1.2;margin:30px 0 12px;}
.post__body--full h4{font-family:var(--font-head);font-weight:600;font-size:calc(19px*var(--fs));margin:26px 0 10px;}
.post__body--full a{color:var(--color-brand);text-decoration:underline;text-underline-offset:2px;}
.post__body--full ul,.post__body--full ol{margin:0 0 26px;padding-left:26px;} .post__body--full li{margin:0 0 10px;}
.post__body--full blockquote{margin:28px 0;padding:6px 0 6px 22px;border-left:3px solid var(--color-ink);font-style:italic;color:var(--color-ink-soft);}
.post__body--full hr{border:0;border-top:1px solid var(--rule);margin:34px 0;}
.post__body--full iframe,.post__body--full video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:var(--radius-card);margin:24px 0;}
.post__body--full strong,.post__body--full b{font-weight:700;}
.post__readon{margin:14px 0 8px;}

/* ------------------------------------------------------------------ Suche (eigenes Modal) */
.kit-search{width:min(560px,92vw);border:1px solid var(--color-hairline);border-radius:14px;padding:0;background:var(--color-bg);color:var(--color-ink);box-shadow:0 24px 70px rgba(0,0,0,.28);}
.kit-search::backdrop{background:rgba(20,16,28,.45);}
.kit-search__box{display:flex;gap:8px;align-items:center;padding:12px;border-bottom:1px solid var(--color-hairline);}
.kit-search__in{flex:1;font:inherit;font-size:16px;color:var(--color-ink);background:transparent;border:0;outline:none;padding:6px 8px;}
.kit-search__x{flex:none;width:32px;height:32px;font-size:18px;line-height:1;color:var(--color-ink-soft);background:none;border:1px solid var(--color-hairline);border-radius:8px;cursor:pointer;}
.kit-search__res{max-height:min(420px,60vh);overflow-y:auto;padding:6px;}
.kit-search__a{display:block;padding:10px 12px;border-radius:9px;}
.kit-search__a.is-active,.kit-search__a:hover{background:var(--color-hairline);}
.kit-search__t{display:block;font-family:var(--font-head);font-size:15px;font-weight:600;color:var(--color-ink);}
.kit-search__d{display:block;font-size:13px;color:var(--color-ink-soft);margin-top:2px;line-height:1.4;}
.kit-search__m{display:block;font-size:11px;color:var(--color-ink-soft);margin-top:4px;text-transform:uppercase;letter-spacing:.05em;}
.kit-search__empty{padding:18px 14px;font-size:14px;color:var(--color-ink-soft);}

/* ------------------------------------------------------------------ „Mehr laden" */
.loadmore-wrap{display:flex;justify-content:center;padding:8px 0 56px;}
.load-more{font:inherit;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand);background:none;border:0;padding:8px 4px;cursor:pointer;transition:opacity .15s;}
.load-more:hover{text-decoration:underline;text-underline-offset:4px;}
.load-more:disabled{opacity:.5;cursor:default;text-decoration:none;}

/* Headlines/Display nutzen --font-head; Chrome (Nav, Pills, Labels) den Lauftext --font-body */
.brand__name,.hero__title,.card__title,.load-more,.btn,.nav-action,.post__title,.post__back{font-family:var(--font-head);}
.tab{font-family:var(--font-body);}

/* ------------------------------------------------------------------ Layout-Modifier (Panel) */
html.dens-compact{--text-base:calc(16px*var(--fs));--text-h1:calc(42px*var(--fs));}
html.dens-compact .hero{padding:36px 0 30px;} html.dens-compact .grid{gap:24px 22px;} html.dens-compact .container{padding:0 20px;}
html.hero-center .hero__grid{grid-template-columns:1fr;text-align:center;justify-items:center;}
html.hero-center .hero__excerpt{margin-left:auto;margin-right:auto;} html.hero-center .hero__medialink{display:none;}
.hero__body{text-align:var(--align-head);}
html.hero-center .hero__body{text-align:center;}
html.hero-center .aufmacher:not(.aufmacher--side){text-align:center;}
html.hero-center .aufmacher:not(.aufmacher--side) .aufmacher__body{max-width:760px;margin:0 auto;}
html.hero-center .aufmacher:not(.aufmacher--side) .aufmacher__excerpt{margin-left:auto;margin-right:auto;}
html.hero-center .aufmacher:not(.aufmacher--side) .aufmacher__meta{justify-content:center;}
html.dens-roomy{--lh-body:1.7;}
html.dens-roomy .hero{padding:76px 0 58px;} html.dens-roomy .grid{gap:48px 40px;} html.dens-roomy .container{padding:0 30px;}

/* ------------------------------------------------------------------ Teaser-/Karten-Stile (Panel) */
.card__body{display:block;}
html.card-side .card{display:grid;grid-template-columns:112px 1fr;gap:15px;align-items:start;}
html.card-side .card__media{aspect-ratio:1/1;} html.card-side .card__title{margin-top:0;}
html.card-text .card__media{display:none;}
html.card-overlay .card{position:relative;border-radius:var(--radius-card);overflow:hidden;}
html.card-overlay .card__media{aspect-ratio:3/4;}
html.card-overlay .card__body{position:absolute;left:0;right:0;bottom:0;padding:16px;background:linear-gradient(rgba(0,0,0,0),rgba(0,0,0,.55) 45%,rgba(0,0,0,.85));}
html.card-overlay .card__title,html.card-overlay .card__excerpt,html.card-overlay .card__date{color:#fff;} html.card-overlay .card__title{margin-top:0;}
html.card-list .grid{grid-template-columns:1fr;gap:0;}
html.card-list .card{display:grid;grid-template-columns:1fr;border-bottom:1px solid var(--rule);padding:18px 0;}
html.card-list .card__media{display:none;}
html.surf-soft .card{background:var(--color-bg);border-radius:12px;box-shadow:0 6px 22px rgba(41,30,56,.10);overflow:hidden;}
html.surf-outline .card{border:1px solid var(--color-hairline);border-radius:10px;overflow:hidden;}
html.surf-soft .card__body,html.surf-outline .card__body{padding:2px 15px 16px;}
html.surf-soft.card-overlay .card__body,html.surf-outline.card-overlay .card__body{padding:16px;}
html.img-gray .card__media,html.img-gray .hero__media,html.img-gray .post__hero img{filter:grayscale(1);transition:filter .35s;}
html.img-gray .card:hover .card__media{filter:none;}
html.img-duo .card__media,html.img-duo .hero__media,html.img-duo .post__hero img{filter:grayscale(1) contrast(1.05) sepia(.5) hue-rotate(165deg) saturate(2.4) brightness(.96);}

/* ------------------------------------------------------------------ Aufmacher (großer Opener) */
.aufmacher{max-width:none;}
.aufmacher--side{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:center;}
@media (max-width:760px){.aufmacher--side{grid-template-columns:1fr;}}
.aufmacher__title{font-family:var(--font-head);font-size:calc(40px*var(--fs));line-height:1.12;font-weight:var(--weight-heading);letter-spacing:var(--track-head);text-transform:var(--case-head);margin:0 0 14px;}
.aufmacher__title a{transition:color .15s;} .aufmacher__title a:hover{color:var(--color-brand);}
.aufmacher__excerpt{font-size:19px;line-height:1.55;color:var(--color-ink-soft);margin:0 0 14px;max-width:60ch;}
.aufmacher__meta{display:flex;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--color-ink-soft);margin:0 0 22px;}
.aufmacher__meta>span+span{margin-left:28px;position:relative;}
.aufmacher__meta>span+span::before{content:"";position:absolute;left:-14px;top:50%;transform:translateY(-50%);width:1px;height:11px;background:var(--color-line);}
.aufmacher__media{width:100%;aspect-ratio:var(--card-ar);object-fit:cover;background:var(--color-line);border-radius:var(--radius-card);}
.aufmacher-band{padding:44px 0 34px;}
.section-body{border-top:1px solid var(--rule);padding-top:34px;}

/* ------------------------------------------------------------------ Portal-Shell (3-spaltig) */
.portal-band{padding:40px 0 8px;}
.portal-grid{max-width:var(--container);margin:0 auto;padding:0 24px;display:grid;gap:28px;align-items:start;}
.portal-center{padding:0 28px;border-left:1px solid var(--rule);border-right:1px solid var(--rule);}
.portal-center .aufmacher{max-width:none;margin:0;}
.portal-center .grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));padding-bottom:0;}
.rail{display:flex;flex-direction:column;gap:30px;min-width:0;}
.rail-module__title{font-family:var(--font-body);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-ink);margin:0 0 14px;padding-top:10px;border-top:1px solid var(--rule-sec);}
.rail-list,.rail-num{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;}
.rail-list a{display:block;}
.rail-list__t{display:block;font-family:var(--font-head);font-size:15px;font-weight:600;line-height:1.3;color:var(--color-ink);}
.rail-list a:hover .rail-list__t{color:var(--color-brand);}
.rail-list__d{display:block;font-size:12px;color:var(--color-ink-soft);margin-top:3px;}
.rail-num li{margin:0;}
.rail-num a{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.rail-num__n{flex:none;width:32px;height:32px;border:1px solid var(--color-ink);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-head);font-size:13px;font-weight:700;color:var(--color-ink);line-height:1;}
.rail-num__t{font-size:14px;font-weight:600;line-height:1.3;color:var(--color-ink);}
.rail-num a:hover .rail-num__t{color:var(--color-brand);}
.rail-num__lead a{display:block;}
.rail-num__lead .rail-num__n{margin-bottom:10px;}
.rail-num__media{width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:var(--radius-card);background:var(--color-line);margin:0 0 8px;}
.rail-num__lead .rail-num__t{display:block;font-size:15px;}
.rail-pills{display:flex;flex-wrap:wrap;gap:8px;}

/* ------------------------------------------------------------------ Rubriken-Sektionen */
.rubrik{padding:14px 0 30px;}
.rubrik--lead{border-top:1px solid var(--rule);padding-top:30px;}
.rubrik__head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid var(--rule-sec);padding-top:12px;margin-bottom:22px;}
.rubrik__chip{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--color-ink);}
.rubrik__more{font-family:var(--font-body);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand);}
.rubrik__chip{transition:color .15s;} .rubrik__chip:hover{color:var(--color-brand);}
.rubrik__more:hover{text-decoration:underline;}
.section-eyebrow{display:flex;align-items:center;gap:14px;margin:0 0 22px;}
.section-chip{font-family:var(--font-body);font-size:14px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-brand);}
/* genau eine Teaser-Zeile zeigen (überzählige Grid-Rows kollabieren) */
.rubrik__grid{padding-bottom:0;grid-template-rows:max-content;grid-auto-rows:0;row-gap:0;overflow:hidden;}
/* Feature-Sektion: 1 groß + Liste */
.rubrik__feature{display:grid;grid-template-columns:1.5fr 1fr;gap:34px;align-items:start;}
.feat-main__media{width:100%;aspect-ratio:var(--card-ar);object-fit:cover;background:var(--color-line);border-radius:var(--radius-card);}
.feat-main__title{font-family:var(--font-head);font-size:calc(26px*var(--fs));font-weight:700;line-height:1.2;margin:14px 0 0;letter-spacing:var(--track-head);text-transform:var(--case-head);transition:color .15s;}
.feat-main:hover .feat-main__title{color:var(--color-brand);}
.feat-main__excerpt{font-size:15px;color:var(--color-ink-soft);line-height:1.5;margin:8px 0 0;max-width:52ch;}
.feat-list{display:flex;flex-direction:column;gap:18px;}
.teaser-row{display:grid;grid-template-columns:84px 1fr;gap:14px;align-items:start;}
.teaser-row__media{width:84px;height:84px;object-fit:cover;background:var(--color-line);border-radius:var(--radius-card);}
.teaser-row__title{font-family:var(--font-head);font-size:15px;font-weight:600;line-height:1.3;margin:0;text-transform:var(--case-head);transition:color .15s;}
.teaser-row:hover .teaser-row__title{color:var(--color-brand);}
/* Kompakt-Sektion: Textteaser in Spalten */
.rubrik__compact{display:grid;grid-template-columns:repeat(var(--grid-cols,3),1fr);gap:0 30px;grid-template-rows:max-content;grid-auto-rows:0;overflow:hidden;}
.teaser-text{display:block;}
.teaser-text__title{font-family:var(--font-head);font-size:15px;font-weight:600;line-height:1.3;margin:0 0 4px;text-transform:var(--case-head);transition:color .15s;}
.teaser-text__excerpt{font-size:14px;color:var(--color-ink-soft);line-height:1.45;margin:0 0 6px;}
.teaser-text:hover .teaser-text__title{color:var(--color-brand);}
@media (max-width:760px){.rubrik__feature{grid-template-columns:1fr;}}
@media (max-width:1100px){
  .portal-grid{grid-template-columns:1fr!important;gap:32px;}
  .portal-center{order:-1;border:0;padding:0;}
  .rail{flex-direction:row;flex-wrap:wrap;gap:32px;}
  .rail .rail-module{flex:1 1 240px;}
}

/* ------------------------------------------------------------------ Customizer-Panel */
/* FAB: dezente, vertikal zentrierte Lasche am rechten Rand (kollidiert nicht mit dem Steady-Layer) */
.cz-fab{position:fixed;right:0;top:50%;transform:translateY(-50%);z-index:60;width:34px;height:48px;border-radius:10px 0 0 10px;border:1px solid var(--color-hairline);border-right:0;background:rgba(255,255,255,.9);color:var(--color-ink-soft);font-size:15px;cursor:pointer;box-shadow:-4px 0 16px rgba(41,30,56,.09);backdrop-filter:blur(5px);transition:color .15s,background .15s,box-shadow .15s;}
.cz-fab:hover{color:var(--color-brand);background:#fff;box-shadow:-5px 0 20px rgba(41,30,56,.14);}
html.cz-on .cz-fab{display:none;}
.cz{position:fixed;top:0;right:0;z-index:61;width:340px;max-width:92vw;height:100vh;background:#fff;border-left:1px solid #ECEAEF;box-shadow:-14px 0 44px rgba(41,30,56,.13);transform:translateX(100%);transition:transform .28s ease;display:flex;flex-direction:column;font-family:Inter,system-ui,sans-serif;color:#291E38;}
html.cz-on .cz{transform:none;}
.cz-head{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid #ECEAEF;font-size:13px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;}
.cz-head>div{display:flex;align-items:center;gap:8px;}
.cz-reset{font:inherit;font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:#9A95A6;background:none;border:1px solid #ECEAEF;border-radius:6px;padding:5px 9px;cursor:pointer;}
.cz-x{width:28px;height:28px;border:1px solid #ECEAEF;border-radius:6px;background:#fff;color:#9A95A6;cursor:pointer;font-size:16px;line-height:1;}
.cz-body{overflow-y:auto;flex:1;}
/* „Für alle Besucher speichern" oben — der späte Steady-Bottom-Layer kann ihn nicht verdecken */
.cz-pubbar{flex:none;padding:12px 16px;border-bottom:1px solid #ECEAEF;background:#fff;}
.cz-pub{width:100%;font:inherit;font-size:13px;font-weight:700;color:#fff;background:#137EC0;border:0;border-radius:8px;padding:11px;cursor:pointer;transition:background .15s;}
.cz-pub:hover{background:#0f6ba3;} .cz-pub:disabled{opacity:.6;cursor:default;}
.cz-pubmeta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:8px;font-size:11px;color:#9A95A6;}
.cz-pub-undo{font:inherit;font-size:11px;color:#137EC0;background:none;border:0;cursor:pointer;padding:2px 0;}
.cz-pub-undo:hover{text-decoration:underline;} .cz-pub-undo:disabled{opacity:.5;cursor:default;}
.cz-sec{border-bottom:1px solid #ECEAEF;}
.cz-sh{width:100%;display:flex;align-items:center;justify-content:space-between;padding:15px 16px;font:inherit;font-size:14px;font-weight:600;background:none;border:0;cursor:pointer;color:#291E38;}
.cz-cv{color:#9A95A6;transition:transform .2s;} .cz-sec:not(.cz-open) .cz-cv{transform:rotate(-90deg);}
.cz-sec:not(.cz-open) .cz-sb{display:none;}
.cz-sb{padding:0 16px 18px;}
.cz-lbl{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:#9A95A6;margin:12px 0 6px;}
.cz-sel{width:100%;border:1px solid #d7d4dd;border-radius:6px;padding:9px 11px;font:inherit;font-size:13px;color:#291E38;background:#fff;cursor:pointer;}
.cz-font{position:relative;}
.cz-font-in{width:100%;border:1px solid #d7d4dd;border-radius:6px;padding:9px 11px;font:inherit;font-size:13px;color:#291E38;background:#fff;}
.cz-font-in:focus{outline:none;border-color:#137EC0;}
.cz-font-pop{display:none;position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:6;background:#fff;border:1px solid #d7d4dd;border-radius:8px;box-shadow:0 12px 30px rgba(41,30,56,.16);max-height:248px;overflow-y:auto;}
.cz-font-pop.open{display:block;}
.cz-font-opt{display:flex;align-items:baseline;justify-content:space-between;gap:10px;width:100%;text-align:left;font:inherit;font-size:13px;color:#291E38;background:none;border:0;border-bottom:1px solid #F4F2F7;padding:8px 11px;cursor:pointer;}
.cz-font-opt:hover{background:#F4F2F7;}
.cz-font-opt em{font-style:normal;font-size:10px;color:#9A95A6;text-transform:capitalize;flex:none;white-space:nowrap;}
.cz-more{margin-top:14px;width:100%;display:flex;align-items:center;justify-content:space-between;font:inherit;font-size:12px;font-weight:600;color:#137EC0;background:none;border:0;cursor:pointer;padding:4px 0;}
.cz-more .cz-cv{color:#137EC0;transition:transform .2s;}
.cz-more[aria-expanded="false"] .cz-cv{transform:rotate(-90deg);}
.cz-more-body{display:none;} .cz-more-body.open{display:block;}
.cz-pal{display:flex;gap:10px;flex-wrap:wrap;}
.cz-pal button{width:34px;height:34px;border-radius:50%;border:2px solid #fff;box-shadow:0 0 0 1px #ECEAEF;cursor:pointer;padding:0;}
.cz-pal button.on{box-shadow:0 0 0 2px #137EC0;}
.cz-colors{display:grid;grid-template-columns:1fr;gap:8px;margin-top:6px;}
.cz-color{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:600;color:#291E38;border:1px solid #ECEAEF;border-radius:8px;padding:7px 9px;cursor:pointer;}
.cz-color input{width:30px;height:30px;border:1px solid #ECEAEF;border-radius:6px;padding:0;background:none;cursor:pointer;flex:none;}
.cz-color-t{display:flex;flex-direction:column;line-height:1.2;}
.cz-color-t em{font-style:normal;font-weight:400;font-size:10px;color:#9A95A6;margin-top:2px;}
.cz-lbl-x{text-transform:none;letter-spacing:0;font-weight:400;color:#bdb8c6;}
.cz-seg{display:flex;gap:6px;}
.cz-seg button{flex:1;font:inherit;font-size:12px;padding:8px 6px;border:1px solid #d7d4dd;border-radius:6px;background:#fff;color:#291E38;cursor:pointer;}
.cz-seg button.on{border-color:#137EC0;background:#137EC0;color:#fff;}
.cz-hint{font-size:11px;color:#9A95A6;margin:2px 0 12px;line-height:1.4;}
.cz-looks{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.cz-look{text-align:left;font:inherit;border:1px solid #d7d4dd;border-radius:8px;padding:9px 11px;background:#fff;color:#291E38;cursor:pointer;}
.cz-look:hover{border-color:#137EC0;}
.cz-look.on{border-color:#137EC0;box-shadow:inset 0 0 0 1px #137EC0;}
.cz-look b{display:block;font-size:13px;font-weight:600;}
.cz-look span{display:block;font-size:10px;color:#9A95A6;margin-top:2px;line-height:1.25;}
.cz-seg--wrap{flex-wrap:wrap;} .cz-seg--wrap button{flex:1 0 28%;}
.cz-warn{display:none;font-size:11px;color:#C0392B;margin:10px 0 0;line-height:1.4;}
.cz-warn.show{display:block;}
.cz-rails{display:flex;flex-wrap:wrap;gap:6px;}
.cz-rails button{flex:1 1 30%;font:inherit;font-size:12px;padding:8px 6px;border:1px solid #d7d4dd;border-radius:6px;background:#fff;color:#291E38;cursor:pointer;}
.cz-rails button.on{border-color:#137EC0;background:#137EC0;color:#fff;}
.cz-rails--off{opacity:.45;pointer-events:none;}
.cz-inp{width:100%;border:1px solid #d7d4dd;border-radius:6px;padding:9px 11px;font:inherit;font-size:13px;color:#291E38;background:#fff;}
.cz-nav{display:flex;flex-direction:column;gap:6px;}
.cz-nav-row{display:flex;gap:5px;align-items:center;}
.cz-nav-row input{min-width:0;border:1px solid #d7d4dd;border-radius:6px;padding:7px 8px;font:inherit;font-size:12px;color:#291E38;background:#fff;}
.cz-nav-l{flex:0 0 32%;} .cz-nav-h{flex:1;}
.cz-nav-grip{flex:0 0 20px;height:30px;border:0;background:none;color:#c4bfce;cursor:grab;font-size:13px;line-height:1;padding:0;border-radius:6px;touch-action:none;}
.cz-nav-grip:hover{color:#291E38;background:#F4F2F7;} .cz-nav-grip:active{cursor:grabbing;}
.cz-nav-grip:focus-visible{outline:2px solid #137EC0;outline-offset:1px;}
.cz-nav-row--drag{opacity:.55;}
.cz-nav-x{flex:0 0 26px;height:30px;border:1px solid #ECEAEF;border-radius:6px;background:#fff;color:#9A95A6;cursor:pointer;font-size:15px;line-height:1;}
.cz-subhead{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#9A95A6;margin:18px 0 2px;padding-top:14px;border-top:1px solid #F0EEF3;}
.cz-subhead:first-child{padding-top:0;border-top:0;margin-top:6px;}
.cz-nav-add{margin-top:8px;font:inherit;font-size:12px;color:#137EC0;background:none;border:0;cursor:pointer;padding:2px 0;text-align:left;}
.cz-apply{margin-top:12px;width:100%;font:inherit;font-size:13px;font-weight:600;color:#fff;background:#137EC0;border:0;border-radius:6px;padding:10px;cursor:pointer;}
.cz-logo{display:flex;gap:6px;align-items:center;}
.cz-logo-up{flex:1;text-align:center;font:inherit;font-size:12px;font-weight:600;color:#fff;background:#137EC0;border-radius:6px;padding:9px;cursor:pointer;}
.cz-logo-rm{font:inherit;font-size:12px;color:#9A95A6;background:#fff;border:1px solid #ECEAEF;border-radius:6px;padding:9px 11px;cursor:pointer;}
@media (max-width:560px){.cz{width:100%;}}

/* ------------------------------------------------------------------ Responsive */
@media (max-width:900px){.hero__grid{grid-template-columns:1fr;gap:28px;}.grid{grid-template-columns:repeat(2,1fr);}:root{--text-h1:calc(38px*var(--fs));}}
@media (max-width:680px){.post__title{font-size:calc(34px*var(--fs));}.post__body{font-size:calc(20px*var(--fs));}}
@media (max-width:560px){.grid{grid-template-columns:1fr;}.header-actions .btn--outline{display:none;}
  /* Touch-Targets (≥44px): Pills + Login-Fallback */
  .pill{padding:7px 14px;}
  .login-link{padding:10px 6px;}}
