/* ==========================================================================
   Site chrome: nav + footer only, GENERATED from site.css by
   tools/build-chrome-css.py. Do not edit above the HAND-WRITTEN marker.
   Loaded instead of site.css on pages without KI:EZ elements (old GoodLayers
   pages), so header and footer match the rest of the site without dragging
   the full design (body font-size 144%, section layouts) onto Confera's
   own page templates.
   ========================================================================== */
:root{
  --purple: #3C1F66;
  --orange: #EC6329;
  --violet: #8635F6;
  --violet-50: rgba(134,53,246,.5);
  --violet-25: rgba(134,53,246,.25);
  --violet-15: rgba(134,53,246,.15);
  --violet-10: rgba(134,53,246,.10);
  --violet-06: rgba(134,53,246,.06);
  --violet-03: rgba(134,53,246,.03);
  --cyan: #21D6CD;
  --blue: #27B5FC;
  --gold: #F0C808;
  --white: #fff;
  --off-white: #FAFAFD;
  --display: 'Funnel Display', sans-serif;
  --body: 'Funnel Sans', sans-serif;
  --r: 8px;
  --max: calc(100% - 48px);
}
.kiez-site .footer .wrap{max-width:var(--max);margin:0 auto;padding:0 24px}
.kiez-site .nav{position:fixed;top:0;left:0;right:0;z-index:101;transition:background .4s}
.kiez-site .nav::after{content:'';position:absolute;inset:0;z-index:-1;pointer-events:none;transition:background .4s,backdrop-filter .4s;backdrop-filter:none;-webkit-backdrop-filter:none}
.kiez-site .nav--solid::after{background:rgba(255,255,255,.92);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.kiez-site .nav-inner{max-width:var(--max);margin:0 auto;padding:0 24px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;height:90px;transition:height .5s cubic-bezier(.22,1,.36,1)}
.kiez-site .nav--compact .nav-inner{height:50px}
.kiez-site .nav-logo{display:flex;align-items:center;gap:16px;text-decoration:none}
.kiez-site .nav-logo-mark{width:72px;height:72px;flex-shrink:0;transition:width .5s cubic-bezier(.22,1,.36,1),height .5s cubic-bezier(.22,1,.36,1)}
.kiez-site .nav--compact .nav-logo-mark{width:30px;height:30px}
.kiez-site .nav-wordmark{position:relative;display:flex;align-items:center}
.kiez-site .wm-lines{display:flex;flex-direction:column;line-height:1.2;position:relative}
.kiez-site .wm-row{position:relative;white-space:nowrap;overflow:hidden;height:1.25em}
.kiez-site .wm-text{display:inline-block;white-space:nowrap;font-family:var(--display);font-weight:700;font-size:18px;line-height:1.25;letter-spacing:-.01em}
.kiez-site .wm-orange{color:var(--orange)}
.kiez-site .wm-purple{color:#ECE9F0}
.kiez-site .nav--solid .wm-purple{color:var(--purple)}
.kiez-site .wm-cursor{
  position:absolute;top:0;bottom:0;
  width:1px;
  background:var(--orange);
  opacity:0;
  left:0;
}
.kiez-site .wm-cursor.on{opacity:1;animation:wmBlink 1.2s step-end infinite}
@keyframes wmBlink{
0%,50%{opacity:1}
50.01%,100%{opacity:0}}
.kiez-site .nav-center{display:flex;justify-content:center}
.kiez-site .nav-links{display:flex;gap:28px;justify-content:flex-end}
.kiez-site .nav-links a{font-family:var(--display);font-size:13px;font-weight:500;color:#CEC7D9;transition:color .25s;letter-spacing:.01em}
.kiez-site .nav--solid .nav-links a{color:var(--purple)}
@media(max-width:960px){
.kiez-site .nav--solid .nav-links a{color:#A58FD9}
.kiez-site .nav--solid .nav-links a.active{color:var(--orange)}
}
.kiez-site .nav-links a.active{color:var(--orange)}
.kiez-site .nav-links a:hover{color:var(--orange)}
.kiez-site .nav-burger{display:none;flex-direction:column;gap:5px;cursor:pointer;justify-self:end}
.kiez-site .nav-burger span{width:20px;height:1.5px;background:var(--white);transition:.3s;border-radius:2px}
.kiez-site .nav--solid .nav-burger span{background:var(--purple)}
.kiez-site .logo-row{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;max-width:1260px;margin:0 auto}
.kiez-site .logo-pill{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:var(--r);padding:16px 14px 10px;font-family:var(--display);font-size:13px;font-weight:500;color:#E2DDE8;transition:box-shadow .3s,transform .3s,background .3s;display:flex;flex-direction:column;align-items:center;gap:6px}
.kiez-site .logo-pill img{height:125px;width:auto;filter:brightness(0) invert(1);transition:filter .3s}
.kiez-site .logo-pill span{font-size:12px;color:#fff;text-align:center;line-height:1.3;transition:color .3s}
.kiez-site .logo-pill:hover{transform:translateY(-2px);background:rgba(255,255,255,.9);box-shadow:0 8px 24px rgba(0,0,0,.15)}
.kiez-site .logo-pill:hover img{filter:none}
.kiez-site .logo-pill:hover span{color:var(--purple)}
.kiez-site .footer{background:var(--purple);padding:96px 0 48px}
.kiez-site .footer-grid{
  display:grid;
  grid-template-columns:1.15fr .85fr 1fr;
  gap:64px;
  align-items:start;
}
.kiez-site .footer-brand{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
}
.kiez-site .footer-brand-logo{
  height:80px;width:auto;
  margin-bottom:32px;
}
.kiez-site .footer-brand p{
  font-size:17px;
  color:#9E8FB3;
  line-height:1.75;
  margin-bottom:24px;
  max-width:34ch;
}
.kiez-site .footer-copy{
  font-family:var(--display);font-size:17px;
  color:#6D578C;
}
.kiez-site .footer-links-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:48px;
  padding-top:4px;
}
.kiez-site .footer-col-label{
  font-family:var(--display);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;
  color:#776294;margin-bottom:24px;
}
.kiez-site .footer-col-links{display:flex;flex-direction:column;gap:18px}
.kiez-site .footer-col-links a{
  font-family:var(--display);font-size:17px;font-weight:500;
  color:#BBB1C9;transition:color .2s;
}
.kiez-site .footer-col-links a:hover{color:var(--orange)}
.kiez-site .footer-partners{
  display:flex;flex-direction:column;gap:48px;
  padding-top:4px;
}
.kiez-site .footer-partner-label{
  font-family:var(--display);font-size:11px;font-weight:700;
  text-transform:uppercase;letter-spacing:.16em;
  color:#776294;margin-bottom:18px;
}
.kiez-site .footer-partner a{display:inline-block}
.kiez-site .footer-partner img{
  display:block;
  height:72px;width:auto;
  filter:brightness(0) invert(1);
  opacity:.75;transition:opacity .25s;
}
.kiez-site .footer-partner a:hover img{opacity:1}
@media(max-width:960px){
.kiez-site .footer-grid{
	grid-template-columns:1fr 1fr;
	column-gap:48px;
	row-gap:56px;
	align-items:start;
  }
.kiez-site .footer-brand{
	grid-column:1 / -1;
	padding-bottom:0;
  }
.kiez-site .footer-brand-logo{height:68px}
.kiez-site .footer-links-grid, .kiez-site .footer-partners{
	display:grid;
	grid-template-columns:1fr 1fr;
	column-gap:48px;
	align-items:start;
  }
.kiez-site .footer-links-grid{
	grid-column:1 / -1;
	row-gap:0;
  }
.kiez-site .footer-partners{
	grid-column:1 / -1;
	row-gap:0;
  }
.kiez-site .footer-links-grid > div, .kiez-site .footer-partners > div{
	display:flex;
	flex-direction:column;
	min-width:0;
  }
.kiez-site .footer-col-label, .kiez-site .footer-partner-label{margin-bottom:24px}
.kiez-site .footer-copy{font-size:15px}
}
@media(max-width:760px){
.kiez-site .footer-grid{
	column-gap:40px;
	row-gap:48px;
  }
.kiez-site .footer-links-grid, .kiez-site .footer-partners{
	column-gap:40px;
  }
.kiez-site .footer-col-label, .kiez-site .footer-partner-label{
	margin-bottom:20px;
	min-width:0;
  }
.kiez-site .footer-col-links{gap:24px}
.kiez-site .footer-partner img{height:52px}
}
@media(max-width:600px){
.kiez-site .footer{padding:64px 0 36px}
.kiez-site .footer-grid{
	grid-template-columns:1fr 1fr;
	column-gap:24px;
	row-gap:48px;
  }
.kiez-site .footer-brand{
	grid-column:1 / -1;
  }
.kiez-site .footer-brand-logo{height:56px}
.kiez-site .footer-brand p{font-size:15px;max-width:none}
.kiez-site .footer-links-grid, .kiez-site .footer-partners{
	grid-column:1 / -1;
	grid-template-columns:1fr 1fr;
	column-gap:24px;
  }
.kiez-site .footer-col-links a{font-size:16px}
.kiez-site .footer-partner img{height:56px}
.kiez-site .footer-copy{font-size:14px}
}
@media(max-width:480px){
.kiez-site .footer-grid{grid-template-columns:1fr}
.kiez-site .footer-links-grid, .kiez-site .footer-partners{grid-template-columns:1fr}
}
@keyframes linkIn{
from{opacity:0;transform:translateX(-16px)}
to{opacity:1;transform:translateX(0)}
}
@media(min-width:1800px){
:root{--max:1760px}
.kiez-site .footer .wrap{padding:0 48px}
.kiez-site .nav-inner{padding:0 48px}
.kiez-site .nav-links a{font-size:18px}
.kiez-site .wm-text{font-size:25px}
.kiez-site .logo-pill{font-size:18px;padding:22px 36px}
.kiez-site .logo-row{max-width:1400px}
.kiez-site .footer{padding:56px 0}
.kiez-site .footer-copy{font-size:14px}
}
@media(max-width:960px){
.kiez-site .nav-links{
	display:flex;flex-direction:column;
	position:fixed;top:0;left:0;right:0;bottom:0;
	background:var(--purple);
	padding:100px 40px 60px;gap:0;
	transform:translateY(-100%);opacity:0;
	transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .4s ease;
	pointer-events:none;z-index:95;
	justify-content:center;
  }
.kiez-site .nav-links.open{transform:translateY(0);opacity:1;pointer-events:auto}
.kiez-site .nav-logo{position:relative;z-index:101}
.kiez-site .nav-inner{position:relative;z-index:101}
.kiez-site .nav-links a{
	font-family:var(--display);font-size:22px;font-weight:700;
	color:#A58FD9;letter-spacing:-.01em;
	padding:12px 0;border-bottom:1px solid rgba(255,255,255,.07);
	opacity:0;transform:translateX(-16px);
	transition:color .2s;
  }
.kiez-site .nav-links a:last-child{border-bottom:none}
.kiez-site .nav-links.open a{
	animation:linkIn .4s cubic-bezier(.22,1,.36,1) forwards;
  }
.kiez-site .nav-links.open a:nth-child(1){animation-delay:.06s}
.kiez-site .nav-links.open a:nth-child(2){animation-delay:.11s}
.kiez-site .nav-links.open a:nth-child(3){animation-delay:.16s}
.kiez-site .nav-links.open a:nth-child(4){animation-delay:.21s}
.kiez-site .nav-links.open a:nth-child(5){animation-delay:.26s}
.kiez-site .nav-links.open a:nth-child(6){animation-delay:.31s}
.kiez-site .nav-links a:hover, .kiez-site .nav-links a:active{color:#ECE9F0}
.kiez-site .nav-links a.active{color:var(--orange)}
.kiez-site .nav-burger{display:flex;z-index:101;position:relative}
.kiez-site .consortium .logo-row{gap:10px}
.kiez-site .logo-pill{width:calc(50% - 8px)}
.kiez-site .logo-pill img{height:62px}
.kiez-site .logo-pill span{font-size:9px}
}
@media(max-width:600px){
.kiez-site .footer .wrap{padding:0 20px}
.kiez-site .nav-inner{padding:0 20px}
.kiez-site .footer-inner{flex-direction:column;gap:14px;text-align:center}
}

/* ---- HAND-WRITTEN (kept by tools/build-chrome-css.py) ---- */
/* --------------------------------------------------------------------------
   Nav offset for pages without a hero.

   Confera's own header is switched off site-wide, and the design's nav is
   `position: fixed`. On the front page the full-height hero sits behind it,
   but every other page would start underneath it with its first lines hidden.
   Reserve the nav's height on those pages.
   -------------------------------------------------------------------------- */
.kiez-site.kiez-no-hero .confera-body-wrapper { padding-top: 90px; }

@media (max-width: 960px) {
  .kiez-site.kiez-no-hero .confera-body-wrapper { padding-top: 72px; }
}

/* Inner pages keep Confera's own layout, but the brand typeface and text
   colour carry across so they do not read as a different site. */
.kiez-site.kiez-no-hero .confera-content-container,
.kiez-site.kiez-no-hero .confera-content-container p,
.kiez-site.kiez-no-hero .confera-content-container li {
  font-family: var(--body);
  color: var(--purple);
}
.kiez-site.kiez-no-hero .confera-content-container h1,
.kiez-site.kiez-no-hero .confera-content-container h2,
.kiez-site.kiez-no-hero .confera-content-container h3,
.kiez-site.kiez-no-hero .confera-content-container h4 {
  font-family: var(--display);
  color: var(--purple);
  letter-spacing: -.02em;
}

/* Footer at 480px and below (#9105, as in site-tweaks.css): the groups stack in
   one column, but site.css keeps the two-column row-gap of 0, so "Rechtliches"
   and "Gefördert von" sat flush under the group above. */
@media (max-width: 480px) {
  .kiez-site .footer-links-grid,
  .kiez-site .footer-partners { row-gap: 48px; }
}

/* #9105 re-check (#65): Confera's pagination CSS reaches the KI:EZ nav on
   pages that load this sheet instead of site-tweaks.css (front page 47):
   "Kontakt" became an uppercase grey button and the dropdown entries were
   uppercase. Same values as nav-menu.css gives the other pages. */
.kiez-site .nav-links a { text-transform: none; }
.kiez-site .nav-links > a,
.kiez-site .nav-links > a:hover { background: none; border-radius: 0; margin-right: 0; }
@media (min-width: 961px) {
  .kiez-site .nav-links > a { padding: 0; }
}

/* Responsive check 2026-10-12, as in site-tweaks.css: footer space for the
   back-to-top button, footer links on one line. */
@media (max-width: 1023px) { .kiez-site .footer { padding-bottom: 80px; } }
@media (max-width: 600px)  { .kiez-site .footer { padding-bottom: 68px; } }
.kiez-site .footer-col-links a { white-space: nowrap; }

/* Back-to-top on chrome-only pages (2026-10-12): the design's purple button,
   as in site-tweaks.css (#9103); Confera's grey one touched the crest at 320. */
.kiez-site #confera-footer-back-to-top-button {
  position: fixed; right: 24px; bottom: 24px; z-index: 90; width: 48px; height: 48px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--purple); color: var(--white); font-size: 24px; line-height: 1;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .4), 0 8px 24px rgba(60, 31, 102, .28);
  opacity: 0; visibility: hidden; transform: translateY(12px);
  transition: opacity .3s, visibility .3s, transform .3s, background .2s;
}
.kiez-site #confera-footer-back-to-top-button.confera-scrolled { opacity: 1; visibility: visible; transform: none; }
.kiez-site #confera-footer-back-to-top-button:hover { background: var(--violet); }
.kiez-site #confera-footer-back-to-top-button:focus-visible { outline: 2px solid var(--orange); outline-offset: 3px; }
.kiez-site #confera-footer-back-to-top-button i { margin-top: -2px; }
@media (max-width: 600px) {
  .kiez-site #confera-footer-back-to-top-button { right: 16px; bottom: 16px; width: 44px; height: 44px; font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) {
  .kiez-site #confera-footer-back-to-top-button { transition: none; transform: none; }
}

/* Wordmark on chrome-only pages (responsive check 10-12): .wm-row is 1.25em
   high and resolved against Confera's 15px body, so from 1800px (25px text)
   half of each line was clipped. Measured like the design pages instead. */
.kiez-site .nav-wordmark { font-size: 16px; }
@media (min-width: 1800px) { .kiez-site .nav-wordmark { font-size: 23.04px; } }
