
:root{--red:#a51f2d;--red2:#7d1420;--cream:#f7f2e9;--ink:#171313;--muted:#665c55;--paper:#fff;--line:#d8cec2}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,sans-serif;line-height:1.6}h1,h2,h3{font-family:Georgia,serif}.skip{position:absolute;left:-9999px}.skip:focus{left:1rem;top:1rem;background:#fff;color:#000;padding:.7rem;z-index:100}.header{position:sticky;top:0;z-index:20;background:linear-gradient(90deg,var(--red),var(--red2));color:#fff;box-shadow:0 2px 8px #0003}.nav{max-width:1400px;margin:auto;display:flex;align-items:center;gap:1rem;padding:.55rem 2rem;min-height:78px}.brand{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none}.emblem{width:58px;height:58px;border-radius:50%;background:#fff8ee;padding:6px;object-fit:contain}.brandtext{font:700 1.75rem Georgia,serif;white-space:nowrap}.brandtext small{display:block;font:400 .75rem Arial,sans-serif}.links{margin-left:auto;display:flex;gap:1.05rem;align-items:center}.links a{color:#fff;text-decoration:none;padding:.45rem .2rem;border-bottom:2px solid transparent}.links a:hover,.links a[aria-current="page"]{border-color:#fff}.tools button{border:1px solid #ffffff99;background:transparent;color:#fff;border-radius:5px;padding:.4rem .55rem;margin-left:.3rem}.hero{min-height:460px;background:linear-gradient(90deg,#000d,#0008 50%,#0001),url("startseite-hero-DSC09672.jpeg") center 42%/cover;color:#fff;display:flex;align-items:center}.hero-inner,.wrap{width:min(1400px,100%);margin:auto}.hero-inner{padding:4rem}.hero h1{font-size:clamp(3.2rem,7vw,6rem);line-height:1;margin:0}.hero p{font:1.7rem Georgia,serif}.btn{display:inline-block;text-decoration:none;font-weight:700;border-radius:999px;padding:.75rem 1.25rem;margin:.2rem .5rem .2rem 0}.btn.red{background:var(--red);color:#fff}.btn.light{border:2px solid #fff;color:#fff}.section{padding:3.5rem 3rem}.eyebrow{color:var(--red);font-weight:800;text-transform:uppercase;letter-spacing:.16em}.section h1,.section h2{font-size:clamp(2.3rem,4vw,3.5rem);margin:.15rem 0 1.3rem}.lead{font:1.25rem Georgia,serif;max-width:850px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:1.2rem}.card{background:var(--paper);border-radius:9px;overflow:hidden;box-shadow:0 2px 14px #00000012}.card img{width:100%;height:245px;object-fit:cover}.card-body{padding:1.15rem}.card h3{color:var(--red);font-size:1.45rem;margin:.1rem 0 .5rem}.card a{color:var(--red);font-weight:800}.band{background:#eee4d8}.events{background:#fff;border-radius:9px;padding:0 1.4rem}.event{display:grid;grid-template-columns:110px 80px 1fr;gap:1rem;padding:1rem 0;border-bottom:1px solid var(--line)}.event:last-child{border:0}.event .date{font-weight:800;color:var(--red)}.event a{color:var(--ink);font-weight:800}.month{font-size:1.9rem;color:var(--red);margin:2rem 0 .6rem}.two{display:grid;grid-template-columns:1.1fr 1fr;gap:2rem}.panel{background:#fff;border-radius:9px;padding:1.5rem;border-top:4px solid var(--red)}.photo{width:100%;border-radius:9px;display:block}.detail-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:2rem;align-items:center}.detail-hero img{width:100%;max-height:620px;object-fit:cover;border-radius:9px}.credits{background:#fff;border-left:5px solid var(--red);padding:1.2rem 1.4rem}.groups{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.group{background:#fff;padding:1.4rem;border-radius:9px}.group strong{color:var(--red)}.formgrid{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.field{margin-bottom:1rem}.field label{display:block;font-weight:800;margin-bottom:.3rem}.field input,.field select,.field textarea{width:100%;padding:.75rem;font:inherit;border:2px solid #8b8179;border-radius:5px;background:#fff}.footer{background:#171313;color:#fff;padding:2.2rem 3rem}.footer a{color:#fff}.footerlinks{display:flex;gap:1rem;flex-wrap:wrap}.large{font-size:120%}.contrast{--cream:#000;--ink:#fff;--paper:#000;--line:#fff}.contrast .band,.contrast .events,.contrast .panel,.contrast .group,.contrast .credits{background:#000;color:#fff}.contrast .event a,.contrast .card a{color:#fff}:focus-visible{outline:3px solid #111;outline-offset:3px}.header :focus-visible,.footer :focus-visible{outline-color:#fff}
@media(max-width:1050px){.links{display:none}.nav{padding:.5rem 1rem}.hero-inner{padding:3rem 2rem}}@media(max-width:760px){.section{padding:2.4rem 1.2rem}.hero-inner{padding:2.5rem 1.2rem}.two,.detail-hero,.groups,.formgrid{grid-template-columns:1fr}.event{grid-template-columns:75px 62px 1fr}.brandtext{font-size:1.3rem}.emblem{width:50px;height:50px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.page-head{background:linear-gradient(110deg,var(--red2),var(--red));color:#fff;padding:3.2rem 3rem}
.page-head .wrap{max-width:1400px}.page-head .eyebrow{color:#fff}.page-head h1{font-size:clamp(2.8rem,5vw,4.7rem);margin:.15rem 0}.page-head p{max-width:800px;font:1.25rem Georgia,serif}
.visual-section{border-top:1px solid #d7cbc0}.section:nth-of-type(even){background:#f0e7dc}
.card{border:1px solid #e1d7cb;transition:transform .15s ease,box-shadow .15s ease}.card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0002}
.card img{background:#ddd}.panel,.group,.events,.credits{box-shadow:0 2px 12px #00000010}
.detail-hero{background:#fff;padding:1.4rem;border-radius:10px;box-shadow:0 3px 18px #00000012}
.detail-hero img{min-height:380px}
.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}.feature{background:#fff;padding:1.2rem;border-radius:8px;border-top:4px solid var(--red)}
@media(max-width:760px){.page-head{padding:2.3rem 1.2rem}.feature-strip{grid-template-columns:1fr}.detail-hero img{min-height:260px}}

.wp-note{background:#211d1d;color:#fff;padding:.7rem 1.2rem;font-size:.9rem;text-align:center}
.wp-note strong{color:#ffd9d9}
.nav-extra{background:#6f111c;color:#fff}.nav-extra .wrap{display:flex;justify-content:flex-end;gap:1rem;padding:.45rem 3rem}.nav-extra a{color:#fff;font-weight:700;text-decoration:none}
.funding-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.funding-card{background:#fff;border-radius:10px;padding:1.5rem;border:1px solid #ddd0c4;box-shadow:0 3px 15px #0001}
.funding-card .tag{display:inline-block;background:#f0e4d7;color:#7d1420;font-weight:800;border-radius:999px;padding:.25rem .65rem;font-size:.85rem}
.logo-placeholder{min-height:130px;border:2px dashed #a99b90;border-radius:8px;display:grid;place-items:center;text-align:center;padding:1rem;background:#faf7f2;color:#665c55}
.loginbox{max-width:560px;margin:0 auto;background:#fff;border-radius:12px;padding:2rem;box-shadow:0 5px 25px #0002;border-top:6px solid var(--red)}
.lock{font-size:3rem;margin-bottom:.4rem}.private-preview{filter:blur(3px);user-select:none;opacity:.45;pointer-events:none}
.admin-hint{background:#fff4cf;border-left:5px solid #b48600;padding:1rem 1.2rem;margin:1.2rem 0}
.project-archive{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem}
.project{background:#fff;padding:1.3rem;border-radius:9px;border-top:4px solid var(--red)}
@media(max-width:760px){.funding-grid{grid-template-columns:1fr}.nav-extra .wrap{padding:.45rem 1.2rem}}


/* === WordPress Beta 1.1: Header / Navigation compatibility === */
.site-header{
  position:relative;
  z-index:50;
  background:linear-gradient(135deg,#6f0f20 0%,#99182b 55%,#6f0f20 100%);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.18);
  box-shadow:0 4px 18px rgba(0,0,0,.12);
}
.site-header .header-inner{
  max-width:1320px;
  margin:0 auto;
  padding:18px 28px;
  display:grid;
  grid-template-columns:minmax(210px,auto) 1fr auto;
  gap:28px;
  align-items:center;
}
.site-header .brand{
  display:flex;
  flex-direction:column;
  gap:2px;
  color:#fff !important;
  text-decoration:none !important;
  line-height:1.05;
}
.site-header .brand-title{
  font-family:Georgia,"Times New Roman",serif;
  font-size:1.55rem;
  font-weight:700;
  letter-spacing:.01em;
}
.site-header .brand-sub{
  font-size:.82rem;
  opacity:.88;
  letter-spacing:.02em;
}
.site-header .main-nav{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:5px 14px;
}
.site-header .main-nav a,
.site-header .main-nav .menu a{
  color:#fff !important;
  text-decoration:none !important;
  font-weight:650;
  font-size:.95rem;
  line-height:1.3;
  padding:7px 0;
  border-bottom:2px solid transparent;
}
.site-header .main-nav a:hover,
.site-header .main-nav a:focus-visible,
.site-header .main-nav .current-menu-item > a{
  border-bottom-color:#fff;
}
.site-header .main-nav ul,
.site-header .main-nav .menu{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  align-items:center;
  gap:5px 14px;
  margin:0;
  padding:0;
}
.site-header .access-tools{
  display:flex;
  gap:7px;
  align-items:center;
}
.site-header .access-tools button{
  min-width:42px;
  min-height:40px;
  padding:7px 10px;
  border:1px solid rgba(255,255,255,.65);
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}
.site-header .access-tools button:hover,
.site-header .access-tools button:focus-visible{
  background:#fff;
  color:#771225;
  outline:3px solid rgba(255,255,255,.35);
  outline-offset:2px;
}
.skip-link{
  position:absolute;
  left:-9999px;
  top:8px;
  z-index:99999;
  background:#fff;
  color:#5d0c1a;
  padding:10px 14px;
  border-radius:4px;
  font-weight:700;
}
.skip-link:focus{left:8px;}
.admin-bar .site-header{margin-top:0;}
@media (max-width:1100px){
  .site-header .header-inner{
    grid-template-columns:1fr auto;
    gap:14px 18px;
  }
  .site-header .main-nav{
    grid-column:1/-1;
    grid-row:2;
    justify-content:flex-start;
  }
}
@media (max-width:700px){
  .site-header .header-inner{padding:14px 18px;}
  .site-header .brand-title{font-size:1.3rem;}
  .site-header .brand-sub{font-size:.76rem;}
  .site-header .main-nav,
  .site-header .main-nav ul,
  .site-header .main-nav .menu{
    justify-content:flex-start;
    gap:2px 12px;
  }
  .site-header .main-nav a,
  .site-header .main-nav .menu a{font-size:.9rem;padding:6px 0;}
  .site-header .access-tools button{min-width:38px;min-height:36px;padding:5px 8px;}
}


/* === WordPress Beta 1.2: Signet + compact desktop navigation === */
.site-header .header-inner{
  max-width:1500px;
  grid-template-columns:minmax(300px,auto) 1fr auto;
  gap:18px;
  padding:15px 24px;
}
.site-header .brand{
  flex-direction:row;
  align-items:center;
  gap:12px;
  min-width:0;
}
.site-header .brand-signet{
  display:block;
  width:58px;
  height:58px;
  object-fit:contain;
  flex:0 0 58px;
  border-radius:50%;
}
.site-header .brand-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
}
.site-header .brand-title{font-size:1.45rem;}
.site-header .brand-sub{font-size:.78rem;}
.site-header .main-nav{
  flex-wrap:nowrap;
  gap:4px 11px;
}
.site-header .main-nav ul,
.site-header .main-nav .menu{
  flex-wrap:nowrap;
  gap:4px 11px;
}
.site-header .main-nav a,
.site-header .main-nav .menu a{
  white-space:nowrap;
  font-size:.88rem;
}
@media (max-width:1280px){
  .site-header .header-inner{
    grid-template-columns:minmax(260px,auto) 1fr auto;
    gap:14px;
  }
  .site-header .brand-signet{width:50px;height:50px;flex-basis:50px;}
  .site-header .brand-title{font-size:1.28rem;}
  .site-header .main-nav,
  .site-header .main-nav ul,
  .site-header .main-nav .menu{
    gap:3px 9px;
  }
  .site-header .main-nav a,
  .site-header .main-nav .menu a{font-size:.82rem;}
}
@media (max-width:1100px){
  .site-header .header-inner{grid-template-columns:1fr auto;}
  .site-header .main-nav{
    grid-column:1/-1;
    grid-row:2;
    flex-wrap:wrap;
    justify-content:flex-start;
  }
  .site-header .main-nav ul,
  .site-header .main-nav .menu{
    flex-wrap:wrap;
    justify-content:flex-start;
  }
}
@media (max-width:700px){
  .site-header .brand-signet{width:44px;height:44px;flex-basis:44px;}
  .site-header .brand-title{font-size:1.18rem;}
}


/* Beta 1.3.2 accessibility additions — no repertoire typography or link-color changes. */
.sr-only{
  position:absolute!important;width:1px!important;height:1px!important;padding:0!important;
  margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;border:0!important;
}
.tf-read-button,.tf-read-stop{font:inherit;}
:where(a,button,input,select,textarea,[tabindex]):focus-visible{
  outline:3px solid currentColor;
  outline-offset:3px;
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{
    scroll-behavior:auto!important;
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
  }
}
.accessibility-note{display:inline-block;margin-top:8px;font-size:.9em;}


/* Beta 1.3.9 – A+ wird direkt per html-Schriftgröße gesteuert. */

/* Beta 1.4.0 – A+ mit festen Klassen; rem-basierte Inhalte skalieren sichtbar. */
body.tf-font-115 { font-size: 115%; }
body.tf-font-130 { font-size: 130%; }
body.tf-font-145 { font-size: 145%; }
body.tf-font-115 .section, body.tf-font-130 .section, body.tf-font-145 .section { line-height: 1.65; }

/* Beta 1.4.1 – öffentliche Förderseite */
.funding-grid-public .funding-card h2{font-size:clamp(1.9rem,3.2vw,3rem);line-height:1.08;margin:.1rem 0 1.25rem}
.funding-lead{font-size:1.15rem;font-weight:700;text-align:center;margin:1.35rem 0 1rem}
.funding-logo{text-align:center;margin:1rem auto 1.25rem}
.funding-logo img{width:min(100%,360px);height:auto}
.funding-ministry{font-size:1.02rem;text-align:center;line-height:1.45}
.project-public{border-top:1px solid #ddd0c4;padding-top:1rem;margin-top:.5rem}
.project-public h3{margin:.15rem 0 .65rem}
.funding-future{margin-top:1.4rem}
@media(max-width:760px){.funding-grid-public .funding-card h2{font-size:2rem}}
