
:root{
 --wine:#8b0f1b; --wine-dark:#650914; --anth:#292b2e; --gray:#6f7377;
 --light:#f6f6f6; --line:#e4e4e4; --white:#fff; --max:1320px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--anth);background:#fff;line-height:1.55}
img{display:block;max-width:100%} a{color:inherit}
.container{width:min(var(--max),calc(100% - 64px));margin:auto}
.site-header{height:118px;background:#fff;position:sticky;top:0;z-index:1000;border-bottom:1px solid #eee}
.header-inner{height:100%;display:flex;align-items:center;gap:36px}
.logo{width:320px;max-height:105px;object-fit:contain;object-position:left center}
.nav{margin-left:auto;display:flex;align-items:center;gap:36px}
.nav a{text-decoration:none;font-size:14px;font-weight:700;text-transform:uppercase;white-space:nowrap;padding:48px 0 12px;border-bottom:3px solid transparent}
.nav a:hover,.nav a.active{color:var(--wine);border-color:var(--wine)}
.phone{margin-left:22px;background:var(--wine);color:#fff;text-decoration:none;padding:15px 22px;border-radius:3px;font-weight:700;white-space:nowrap}
.menu-btn{display:none;border:0;background:none;font-size:28px;color:var(--wine)}
.hero{min-height:430px;position:relative;display:flex;align-items:center;overflow:hidden;background:#f3f3f3}
.hero:before{content:"";position:absolute;inset:0;background:url('images/hero-weinberg.jpg') center/cover no-repeat}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 31%,rgba(255,255,255,.28) 57%,rgba(255,255,255,0) 78%)}
.hero .container{position:relative;z-index:2}
.hero-copy{max-width:570px;padding:58px 0}
.kicker{color:var(--wine);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
h1,h2,h3{line-height:1.12;margin:0 0 18px} h1{font-size:52px} h2{font-size:34px} h3{font-size:21px}
.red{color:var(--wine)}
.rule{width:62px;height:3px;background:var(--wine);margin:20px 0 22px}
.lead{font-size:17px;max-width:600px}
.actions{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px}
.btn{display:inline-flex;align-items:center;gap:16px;padding:14px 24px;border:1px solid var(--wine);text-decoration:none;font-weight:800;text-transform:uppercase;font-size:13px;border-radius:2px}
.btn.primary{background:var(--wine);color:#fff}.btn:hover{background:var(--wine-dark);color:#fff}
.values{border-bottom:1px solid var(--line);background:#fff}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.value{padding:27px 28px;border-right:1px solid var(--line);display:flex;gap:18px;align-items:flex-start}.value:last-child{border:0}
.icon{font-size:30px;color:var(--wine);line-height:1}.value p{margin:4px 0 0;color:#555;font-size:14px}
.section{padding:62px 0}.section.alt{background:var(--light)}
.two-col{display:grid;grid-template-columns:1fr 1.15fr;gap:70px;align-items:center}
.team-group{border-radius:8px;width:100%;max-height:430px;object-fit:cover;object-position:center 42%}
.page-hero{min-height:275px;position:relative;display:flex;align-items:center;overflow:hidden}
.page-hero:before{content:"";position:absolute;inset:0;background:url('images/hero-weinberg.jpg') center/cover no-repeat}
.page-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.92) 35%,rgba(255,255,255,.12) 70%)}
.page-hero .container{position:relative;z-index:2}.page-hero .hero-copy{padding:42px 0}.page-hero h1{font-size:46px}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{border:1px solid var(--line);padding:28px;border-radius:5px;background:#fff}
.card h3{margin-bottom:10px}.card p{margin:0;color:#555}
.team-top{display:grid;grid-template-columns:repeat(2,minmax(0,260px));justify-content:center;gap:28px;margin-bottom:28px}
.team-row{display:grid;grid-template-columns:repeat(4,minmax(0,260px));justify-content:center;gap:24px;margin-top:24px}
.person{border:1px solid var(--line);border-radius:6px;overflow:hidden;background:#fff}
.person img{display:block;width:100%;height:260px;object-fit:cover;object-position:center top}.person-body{padding:18px}.person h3{font-size:18px;margin:0 0 5px}.role{color:var(--wine);font-weight:700;font-size:14px}.person p{font-size:14px;color:#555;margin:10px 0 0}
.download{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:22px;border:1px solid var(--line);border-radius:5px;margin:12px 0}.download strong{font-size:18px}
.contact-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:30px}.map{min-height:430px;border:0;width:100%;border-radius:6px}
.contact-card{border:1px solid var(--line);padding:32px;border-radius:6px}.contact-card h2{color:var(--wine)}
footer{background:#2b2d2f;color:#fff}.footer-main{padding:38px 0}.footer-grid{display:grid;grid-template-columns:1.1fr 1.1fr .8fr 1fr;gap:42px}
footer h3{font-size:14px;text-transform:uppercase;margin-bottom:15px}footer p,footer a{font-size:14px;color:#eee;text-decoration:none}
.footer-links{display:grid;grid-template-columns:1fr 1fr;gap:5px 24px}.partner-box{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.partner{border:1px solid #777;padding:10px 13px;font-weight:800}
.footer-bottom{border-top:1px solid #444;padding:15px 0;font-size:12px;color:#ddd}.footer-bottom .container{display:flex;justify-content:space-between;gap:20px}
.note{padding:18px;background:#fff7f7;border-left:4px solid var(--wine)}
@media(max-width:1100px){.logo{width:250px}.nav{gap:18px}.phone{display:none}.team-row{grid-template-columns:repeat(2,1fr)}}
@media(max-width:820px){.container{width:min(var(--max),calc(100% - 34px))}.site-header{height:88px}.logo{width:220px;max-height:78px}.menu-btn{display:block;margin-left:auto}.nav{display:none;position:absolute;top:88px;left:0;right:0;background:#fff;padding:16px 24px;flex-direction:column;align-items:stretch;box-shadow:0 10px 20px #0001}.nav.open{display:flex}.nav a{padding:10px 0}.hero{min-height:500px}.hero:after{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.72))}h1{font-size:42px}.values-grid{grid-template-columns:1fr 1fr}.two-col,.contact-grid,.footer-grid{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.team-top{grid-template-columns:1fr 1fr}.footer-grid{gap:20px}}
@media(max-width:560px){h1{font-size:36px}.page-hero h1{font-size:38px}.values-grid,.cards,.team-top,.team-row{grid-template-columns:1fr}.value{border-right:0;border-bottom:1px solid var(--line)}.footer-bottom .container{flex-direction:column}.logo{width:190px}}

/* ===== KORRIGIERTE VERSION ===== */
.site-header{background:#fff!important}
.header-inner{gap:24px}
.logo{width:320px;min-width:260px;max-height:105px}
.nav{gap:26px;flex-wrap:nowrap}
.nav a{white-space:nowrap}
.phone{margin-left:10px}

/* Startseite: klare, stabile Bereiche */
.home-values .value{display:block;padding:24px 30px}
.home-values .value strong{
  color:var(--wine);font-size:20px;font-weight:800;line-height:1.15;
}
.home-values .value p{margin-top:7px}
.home-stack{padding:42px 0}
.home-stack + .home-stack{padding-top:12px}
.home-stack h2{font-size:34px;margin-bottom:14px}
.home-stack p{max-width:1120px}
.home-stack .btn{margin-top:10px}
.home-stack.no-divider{border:0!important}
.home-stack .rule,.home-stack .kicker{display:none!important}

/* Über uns */
.about-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:start}
.about-text p{font-size:16px;line-height:1.58;margin:0 0 17px;color:var(--anth)}
.about-text strong{color:var(--anth)}
.about-photo{width:100%;border-radius:7px;object-fit:contain;background:#f4f4f4}
.about-points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:38px}
.about-point{font-size:21px;font-weight:800;color:var(--wine);text-align:center;padding:18px 10px;border-top:1px solid var(--line)}
.about-statement{padding-top:10px}
.about-statement .kicker{display:none}

/* Footer partner logos */
.footer-grid{grid-template-columns:1fr 1fr .65fr 2.2fr}
.partner-logos{display:grid;grid-template-columns:repeat(5,minmax(95px,1fr));gap:12px;align-items:start}
.partner-item{text-align:center;min-width:0}
.partner-item img{width:100%;height:58px;object-fit:contain;background:#fff;padding:4px;border-radius:2px}
.partner-item small{display:block;margin-top:6px;font-size:10px;line-height:1.25;color:#eee}
.wko-wordmark{height:58px;background:#fff;color:#c40018;display:flex;align-items:center;justify-content:center;font-weight:900;font-size:28px;letter-spacing:1px}

@media(max-width:1250px){
  .logo{width:260px;min-width:220px}
  .nav{gap:16px}
  .nav a{font-size:12px}
  .phone{padding:13px 16px;font-size:14px}
}
@media(max-width:1100px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .partner-logos{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:820px){
  .about-layout{grid-template-columns:1fr}
  .about-points{grid-template-columns:1fr}
  .partner-logos{grid-template-columns:repeat(2,1fr)}
}

/* Nur Über-uns-Seite */
.about-text h2{
  font-size:34px;
  line-height:1.15;
  margin:0 0 22px;
  color:var(--anth);
}

/* Nur Über-uns-Seite: kein Sonnenuntergang, Inhalt etwas weiter nach oben */
.about-page .section:first-of-type{
  padding-top:24px;
}
.about-page .about-layout{
  margin-top:0;
  align-items:start;
}
.about-page .about-text h2{
  margin-top:0;
}

/* Nur Über-uns-Seite: sechs Werte wie in der Referenz */
.about-page .about-values-bar{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  margin-top:30px;
  border-top:1px solid #e4e4e4;
  border-bottom:1px solid #e4e4e4;
  background:#fff;
}
.about-page .about-value{
  min-height:82px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  text-align:center;
  border-right:1px solid #e4e4e4;
  color:var(--wine);
}
.about-page .about-value:last-child{border-right:0}
.about-page .about-value strong{
  font-size:14px;
  color:var(--wine);
}
.about-page .value-icon{
  font-size:25px;
  line-height:1;
  color:var(--wine);
  font-family:Arial,sans-serif;
}
@media(max-width:820px){
  .about-page .about-values-bar{grid-template-columns:repeat(3,1fr)}
  .about-page .about-value:nth-child(3){border-right:0}
  .about-page .about-value:nth-child(-n+3){border-bottom:1px solid #e4e4e4}
}

/* Finale Anpassung ausschließlich Über-uns */
.about-page .about-text h2{
  color:var(--wine)!important;
}
.about-page .about-values-bar{
  margin-top:30px;
}
.about-page .about-value{
  min-height:64px;
  gap:0;
}
.about-page .about-value strong{
  color:var(--wine);
  font-size:15px;
  font-weight:800;
}
.about-page .value-icon{display:none!important}

/* Nur Über uns: vorhandenes Sonnenuntergangsfoto schemenhaft im Hintergrund.
   Sonst bleibt die freigegebene Seite unverändert. */
.about-with-bg{
  position:relative;
  background:#fff;
}
.about-with-bg::before{
  content:"";
  position:fixed;
  inset:120px 0 0 0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(rgba(255,255,255,.86),rgba(255,255,255,.86)),
    url("images/hero.jpg") center top / cover no-repeat;
}
.about-with-bg > header,
.about-with-bg > main,
.about-with-bg > footer{
  position:relative;
  z-index:1;
}

/* Über uns: blasser Sonnenuntergang als eigener Bereich oben;
   Original-Gruppenfoto bleibt darunter im Inhaltsbereich. */
.about-page .about-sunset{
  min-height:190px;
  display:flex;
  align-items:flex-end;
  padding:0 0 28px;
  background:
    linear-gradient(rgba(255,255,255,.70), rgba(255,255,255,.78)),
    url("images/hero.jpg") center 48% / cover no-repeat;
}
.about-page .about-sunset h1{
  margin:0;
  font-size:42px;
  line-height:1.05;
  color:var(--anth);
}
.about-page .section:first-of-type{
  padding-top:28px;
}
.about-page .about-text h2{
  margin-top:0;
  color:var(--wine)!important;
}
/* Alte Ganzseiten-Hintergrundregel auf dieser Version neutralisieren */
.about-page::before{display:none!important}
@media(max-width:820px){
  .about-page .about-sunset{min-height:145px;padding-bottom:22px}
  .about-page .about-sunset h1{font-size:34px}
}

/* Über uns: Headerfoto exakt im Stil der Team-Seite, aber ohne Text */
.about-page .about-hero-only{
  min-height:300px;
}
.about-page .about-hero-only .container{
  min-height:300px;
}
/* alte Sonderformatierung des About-Sonnenuntergangs neutralisieren */
.about-page .about-sunset{display:none!important}

/* Über uns: Titel wie auf den anderen Seiten im Sonnenuntergangsbild */
.about-page .about-hero-only{min-height:300px;display:flex;align-items:center}
.about-page .about-hero-only>.container{min-height:300px;display:flex;align-items:center}
.about-page .about-hero-headings{padding:24px 0;max-width:100%}
.about-page .about-eyebrow{font-size:15px;letter-spacing:.08em;font-weight:700;color:#292b2e;margin-bottom:17px;text-transform:uppercase}
.about-page .about-hero-headings h1{font-size:clamp(30px,3.5vw,49px);line-height:1.15;color:var(--wine);margin:0;font-weight:800}
.about-page .about-layout{align-items:start}
.about-page .about-photo{width:100%;height:auto;object-fit:contain}
@media(max-width:820px){.about-page .about-hero-only,.about-page .about-hero-only>.container{min-height:230px}}

/* Einheitliche Unterseiten-Bereichsbezeichnung wie Team/Leistungen/Downloads */
.about-page .about-hero-headings .kicker{color:var(--wine);font-weight:800;text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;font-size:inherit}

/* Nur Über uns: zweite Überschriftenzeile in Grau */
.about-page .about-hero-headings h1 .about-second-line{color:var(--anth);}

/* Team: original photos only; uniform display frames and adjustable framing */
.team-top .person img,.team-row .person img{width:100%;height:290px;object-fit:cover;object-position:center 24%;}
.team-top .person:nth-child(1) img{object-position:center 21%;}
.team-top .person:nth-child(2) img{object-position:center 19%;}
.team-row .person img{object-position:center 22%;}

/* Erwin: show the complete original photograph, without cropping or face alteration. */
.team-row .person img.erwin-photo{object-fit:contain;object-position:center center;background:#d6d7da;}

/* Startseite: mehr Platz zwischen Partnerlogos und Beschriftungen */
.partner-logos{grid-template-columns:repeat(4,minmax(0,1fr));column-gap:28px;row-gap:26px;align-items:start}
.partner-item{min-width:0;overflow-wrap:anywhere}
.partner-item img{display:block;width:100%;height:72px;object-fit:contain;box-sizing:border-box}
.partner-item small{display:block;margin-top:12px;font-size:11px;line-height:1.45;overflow-wrap:anywhere}
@media(max-width:1100px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px;row-gap:30px}}
@media(max-width:480px){.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:22px;row-gap:26px}}

/* Footer: four partner logos, ample separation and fixed ÖVM line break */
.footer-grid .partner-logos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:38px;row-gap:28px;align-items:start}
.footer-grid .partner-item{min-width:0;text-align:center;overflow-wrap:normal;word-break:normal}
.footer-grid .partner-item img{display:block;width:100%;height:72px;object-fit:contain;margin:0 auto}
.footer-grid .partner-item small{display:block;margin-top:12px;font-size:11px;line-height:1.5;overflow-wrap:normal;word-break:normal;hyphens:none}
.footer-grid .partner-item .oevm-line{white-space:nowrap}
@media(max-width:1250px){.footer-grid .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:38px;row-gap:30px}}
@media(max-width:480px){.footer-grid .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:18px;row-gap:28px}.footer-grid .partner-item small{font-size:10px}}

/* Online KFZ risk form */
.rf-wrap{max-width:1040px}.rf-notice{padding:18px 22px;background:#f6f4f3;border-left:4px solid #8b1722;line-height:1.6;margin-bottom:30px}.rf-section{border:1px solid #e5e0df;border-radius:10px;padding:25px;margin-bottom:24px;background:#fff}.rf-section h2{margin:0 0 20px;color:#7b1421}.rf-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rf-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-size:15px;font-weight:600}.rf-field input:not([type=checkbox]),.rf-field select,.rf-field textarea{width:100%;box-sizing:border-box;padding:12px;border:1px solid #c9c7c7;border-radius:5px;font:inherit;font-weight:400;background:white;color:#202020}.rf-field input:focus,.rf-field select:focus,.rf-field textarea:focus{outline:2px solid #8b1722;outline-offset:1px}.rf-full{grid-column:1/-1}.rf-checks{display:flex;flex-wrap:wrap;gap:10px 24px;margin-top:8px}.rf-checks label{font-weight:400}.rf-checks input{accent-color:#8b1722}.rf-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:25px}.rf-actions button{cursor:pointer}.rf-field fieldset{border:0}@media(max-width:650px){.rf-grid{grid-template-columns:1fr}.rf-section{padding:16px}}@media print{header,footer,.page-hero,.rf-actions,.rf-notice{display:none!important}.rf-section{break-inside:avoid;padding:12px}.rf-grid{gap:8px}body{font-size:11pt}}

.risk-hp{position:absolute!important;left:-9999px!important;opacity:0!important}.risk-privacy{font-size:.9rem;line-height:1.5;margin:1rem 0}

/* CREDO Cookie-Einstellungen */
.cookie-overlay{position:fixed;inset:0;background:rgba(15,24,36,.6);z-index:9998;display:none}
.cookie-overlay.open{display:block}
.cookie-dialog{position:fixed;z-index:9999;left:50%;bottom:20px;transform:translateX(-50%);width:min(680px,calc(100% - 28px));max-height:calc(100dvh - 40px);overflow:auto;background:#fff;color:#20242b;border-radius:12px;box-shadow:0 12px 45px #0004;padding:24px;font:inherit}
.cookie-dialog[hidden],.cookie-overlay[hidden]{display:none!important}
.cookie-dialog h2{font-size:1.35rem;margin:0 0 10px}.cookie-dialog p{line-height:1.55;margin:0 0 14px}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.cookie-actions button{cursor:pointer;padding:11px 15px;border:1px solid #9e1c26;border-radius:5px;background:#9e1c26;color:white;font:inherit;font-weight:600}.cookie-actions .cookie-outline{background:white;color:#9e1c26}.cookie-settings{display:none;border-top:1px solid #ddd;padding-top:14px;margin-top:12px}.cookie-settings.open{display:block}.cookie-setting{display:flex;justify-content:space-between;gap:15px;padding:12px 0;border-bottom:1px solid #eee}.cookie-setting small{display:block;color:#555}.cookie-setting input{width:20px;height:20px;flex:none}.cookie-reopen{background:transparent;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}.cookie-links{font-size:.9rem;margin-top:12px}.cookie-links a{color:#9e1c26}
@media(max-width:560px){.cookie-dialog{bottom:8px;width:calc(100% - 16px);padding:18px}.cookie-actions{flex-direction:column}.cookie-actions button{width:100%}}

/* KFZ Schadenmeldung */
.claim-section{padding:25px 0;border-bottom:1px solid #ddd}.claim-section h2{margin:0 0 20px}.claim-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 22px}.claim-field{display:flex;flex-direction:column;gap:7px;min-width:0}.claim-field span,.claim-field legend{font-weight:600;font-size:14px}.claim-field input:not([type=radio]):not([type=checkbox]),.claim-field textarea{width:100%;box-sizing:border-box;border:1px solid #bbb;border-radius:4px;padding:12px;font:inherit;background:#fff;color:#222}.claim-field fieldset{border:0}.claim-field:where(fieldset){border:1px solid #ddd;padding:12px;margin:0}.claim-opts{display:flex;gap:12px;flex-wrap:wrap;margin-top:8px}.claim-opts label{font-size:14px}.claim-wide{grid-column:1/-1}.claim-consent{display:flex;gap:10px;align-items:flex-start;margin:20px 0}.claim-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media(max-width:680px){.claim-grid{grid-template-columns:1fr}}@media print{header,footer,.page-hero,.claim-section button{display:none!important}.claim-section{break-inside:avoid}}

/* Cookie-Hinweis: muss beim ersten Aufruf bestätigt werden, Seite dahinter ist bis dahin gesperrt */
.cookie-overlay:not([hidden]){display:block}
body.cookie-locked{overflow:hidden}

/* Menü mit "Home": auf mittleren Bildschirmbreiten etwas enger, damit alle Punkte Platz haben */
@media(min-width:821px) and (max-width:1000px){.nav{gap:12px}.nav a{font-size:11px}.logo{width:210px}}

/* Sonnenuntergangsbild: auf allen Seiten gleiche Größe, gleicher Ausschnitt, gleicher Verlauf,
   damit es beim Wechseln zwischen den Seiten ruhig an derselben Stelle stehen bleibt. */
.hero,.page-hero{background:#f3f3f3}
.hero:before,.page-hero:before{background:url('images/hero-weinberg.jpg') center top/max(100%,1500px) auto no-repeat}
.hero:after,.page-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.98) 0%,rgba(255,255,255,.90) 31%,rgba(255,255,255,.28) 57%,rgba(255,255,255,0) 78%)}
@media(min-width:821px){
 .hero,.page-hero,.about-hero-only,.about-page .about-hero-only{height:440px;min-height:440px}
 .about-hero-only>.container,.about-page .about-hero-only>.container{min-height:0}
 .hero .hero-copy{padding:24px 0}
 .page-hero .hero-copy{padding:24px 0}
}
@media(max-width:820px){
 .hero,.page-hero,.about-hero-only,.about-page .about-hero-only{min-height:420px}
 .hero:after,.page-hero:after{background:linear-gradient(90deg,rgba(255,255,255,.97),rgba(255,255,255,.72))}
}

/* Unterseiten: niedrigerer Bildstreifen (Startseite bleibt groß), gleicher Bildmaßstab auf allen Unterseiten */
.page-hero:before{background-position:center 42%}
@media(min-width:821px){
 .page-hero,.about-hero-only,.about-page .about-hero-only{height:290px;min-height:290px}
 .page-hero .hero-copy{padding:14px 0}
 .page-hero h1{font-size:40px;margin-bottom:10px}
}
@media(max-width:820px){
 .page-hero,.about-hero-only,.about-page .about-hero-only{min-height:0;height:auto}
 .page-hero .hero-copy{padding:28px 0}
}

/* Team: Name, Funktion und Kontaktzeilen innerhalb einer Reihe auf gleicher Höhe ausrichten,
   auch wenn eine Funktionsbezeichnung mehrzeilig ist */
@supports (grid-template-rows:subgrid){
 .team-top,.team-row{align-items:stretch}
 .team-top .person,.team-row .person{display:grid;grid-row:span 4;grid-template-rows:subgrid;row-gap:0}
 .team-top .person-body,.team-row .person-body{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
 .team-top .person-body>.role,.team-row .person-body>.role{align-self:start}
}

/* Erwin: Randflächen in derselben Farbe wie der neue graue Fotohintergrund */
.team-row .person img.erwin-photo,.person img.erwin-photo{background:#868589}

/* ===== Responsive-Korrekturen: nichts darf breiter als der Bildschirm werden ===== */
img,iframe,video,table{max-width:100%}
html,body{max-width:100%;overflow-x:clip}
/* Kopfzeile: Telefon-Button passt auch auf Laptop-Breiten neben das Menü */
.phone{flex-shrink:0}
@media(min-width:1101px) and (max-width:1360px){.header-inner{gap:20px}.nav{gap:20px}.phone{margin-left:6px;padding:13px 16px}}
/* Kontaktseite: Karte und Kontaktbox untereinander, ohne Überbreite */
@media(max-width:820px){.contact-grid{grid-template-columns:minmax(0,1fr)}.contact-grid>*{min-width:0}.contact-card{padding:22px}.contact-card h2{font-size:26px;hyphens:auto}}
/* Downloads: Button rutscht auf schmalen Bildschirmen unter den Titel */
@media(max-width:600px){.download{flex-wrap:wrap;gap:12px}.download>*{min-width:0}.download .btn{white-space:normal}}
/* Fußbereich auf dem Handy einspaltig, Partnerlogos zweispaltig */
@media(max-width:600px){.footer-grid{grid-template-columns:minmax(0,1fr)!important}.footer-grid>*{min-width:0}.partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:18px!important}}
/* Lange Wörter/Adressen (z.B. E-Mail) dürfen umbrechen */
p,li,a,h1,h2,h3,small,td{overflow-wrap:break-word}
@media(min-width:821px) and (max-width:900px){.nav{gap:9px}.logo{width:190px}}
/* Handy/Tablet: Eingabefelder mit 16px, sonst zoomt das iPhone beim Antippen hinein und die Seite wirkt zu breit */
@media(max-width:1024px){input,select,textarea{font-size:16px!important}}

/* Telefonnummer oben rechts als schlichter Text statt roter Button */
.phone,.phone:hover{background:none!important;color:var(--wine)!important;padding:0!important;border-radius:0!important;box-shadow:none!important;font-weight:700;font-size:16px;text-decoration:none}
.phone:hover{text-decoration:underline}
@media(min-width:1101px) and (max-width:1360px){.phone{font-size:15px}}
.phone,.phone:hover{padding:48px 0 12px!important;border-bottom:3px solid transparent}

/* Logo bleibt immer innerhalb des weißen Kopfbereichs (kein weißes Eck nach unten) */
.logo{height:auto;display:block}
@media(max-width:820px){.logo{width:auto!important;min-width:0!important;max-width:200px!important;max-height:74px!important}}
@media(max-width:360px){.logo{max-width:170px!important;max-height:66px!important}}
@media(min-width:821px){.logo{max-height:100px!important}}

/* Stufen für die automatische Anpassung der Kopfzeile (assets/header-fit.js) */
@media(min-width:821px){
 .site-header.hf1 .nav{gap:14px}.site-header.hf1 .header-inner{gap:16px}
 .site-header.hf2 .nav a{font-size:13px}.site-header.hf2 .logo{width:220px!important;min-width:0!important}
 .site-header.hf3 .nav{gap:10px}.site-header.hf3 .nav a{font-size:12px}.site-header.hf3 .phone{font-size:14px}
 .site-header.hf4 .logo{width:180px!important}.site-header.hf4 .nav a{font-size:11px}.site-header.hf4 .phone{font-size:13px}
}

/* Immer helle Darstellung: verhindert, dass der automatische Dunkelmodus am Handy
   Kopfzeile und Menü grau färbt, während das Logo weiß bleibt */
:root{color-scheme:light only}
.site-header,.nav{background:#fff}

/* ===== Impressum & Datenschutzerklärung ===== */
.legal-section{padding:56px 0 72px}
.legal{max-width:880px;color:#3d4044;font-size:16px;line-height:1.75}
.legal p{margin:0 0 14px}
.legal a{color:var(--wine);text-decoration:underline;text-underline-offset:2px}
.legal a.btn{text-decoration:none}
.legal h2{font-size:24px;line-height:1.3;color:var(--wine);margin:44px 0 14px;padding-top:4px}
.legal h3{font-size:19px;line-height:1.35;color:var(--anth);margin:34px 0 10px}
.legal h4{font-size:16px;color:var(--anth);margin:22px 0 6px}
.legal ul{margin:0 0 16px;padding-left:0;list-style:none}
.legal ul li{position:relative;padding-left:22px;margin:0 0 8px}
.legal ul li:before{content:"";position:absolute;left:2px;top:.72em;width:8px;height:8px;border-radius:50%;background:var(--wine)}
.legal-lead{font-size:14px;color:var(--gray);text-transform:uppercase;letter-spacing:.04em;font-weight:700;line-height:1.6;margin-bottom:22px!important}
.legal-intro{font-size:18px;color:var(--anth)}
.legal-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 10px}
.legal-card{background:var(--light);border:1px solid var(--line);border-left:4px solid var(--wine);border-radius:6px;padding:20px 22px}
.legal-card h3{font-size:13px;text-transform:uppercase;letter-spacing:.05em;color:var(--wine);margin:0 0 10px}
.legal-card p{margin:0 0 8px}.legal-card p:last-child{margin-bottom:0}
.legal-card--inline{max-width:520px;margin:18px 0 22px}
.legal-toc{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 8px}
.legal .legal-toc a{border:1px solid var(--wine);border-radius:999px;padding:8px 16px;font-size:14px;font-weight:700;text-decoration:none}
.legal .legal-toc a:hover{background:var(--wine);color:#fff}
.legal-part{margin:64px 0 8px;padding:28px 30px;background:var(--light);border-radius:8px;border-top:4px solid var(--wine)}
.legal-part .kicker{display:block!important;font-size:13px;margin-bottom:6px}
.legal-part h2{margin:0 0 8px;font-size:26px}
.legal-part p{margin:0;color:var(--gray)}
.legal-next{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:56px;padding-top:26px;border-top:1px solid var(--line);color:var(--gray)}
.legal h2[id],.legal-part{scroll-margin-top:130px}
@media(max-width:820px){.legal-cards{grid-template-columns:minmax(0,1fr)}.legal h2{font-size:21px}.legal-part{padding:22px 20px}.legal-part h2{font-size:22px}.legal-intro{font-size:17px}}

/* Logo mit transparentem Hintergrund: passt sich jeder Kopfzeilenfarbe an.
   Der weiße Schatten ist auf weißem Grund unsichtbar und hebt das Logo nur hervor,
   wenn ein Handy-Browser die Seite zwangsweise dunkel färbt. */
.logo{background:transparent!important;filter:drop-shadow(0 0 .6px rgba(255,255,255,.9))}

/* Impressum/Datenschutz am Handy: kleinere, proportionale Schriften; Titel in einer Zeile */
.legal-hero h1{white-space:nowrap}
@media(max-width:820px){
 .legal-hero h1{font-size:min(34px,7.2vw)!important;line-height:1.15}
 .legal-hero .hero-copy p{font-size:15px}
 .legal{font-size:15px;line-height:1.7}
 .legal-intro{font-size:16px!important}
 .legal h2{font-size:19px!important;margin:34px 0 10px}
 .legal h3{font-size:17px;margin:26px 0 8px}
 .legal h4{font-size:15px}
 .legal-part h2{font-size:19px!important}
 .legal-lead{font-size:12px;letter-spacing:.03em}
 .legal .legal-toc a{font-size:13px;padding:7px 13px}
}
@media(max-width:380px){.legal-part h2{font-size:16.5px!important}.legal-part{padding:20px 16px}}

/* Fußzeile: schlanke Linkliste ohne Überschrift (Home, Impressum, Datenschutzerklärung) */
.footer-links--simple{display:flex!important;flex-direction:column;gap:8px;grid-template-columns:none!important}
.footer-nav{padding-top:calc(1em + 14px)}
@media(max-width:600px){.footer-nav{padding-top:0}}

/* Fußzeile: kleinere Beschriftung unter den Mitglieds-Logos */
.footer-members .partner-item small{font-size:9.5px!important;line-height:1.35!important;margin-top:8px!important;color:#cfcfcf}

/* Mitglieds-Logos: funktionieren auch mit vergrößerter Schrift / Mindestschriftgröße im Browser.
   Spaltenbreite wächst mit der Schrift (em), lange Wörter werden getrennt statt überzulappen. */
.footer-members .partner-logos{grid-template-columns:repeat(auto-fit,minmax(max(96px,7.5em),1fr))!important;column-gap:16px!important;row-gap:20px!important}
.footer-members .partner-item small{overflow-wrap:anywhere!important;word-break:normal;hyphens:auto;-webkit-hyphens:auto;text-align:center}
.footer-members{min-width:0}
@media(max-width:600px){.footer-members .partner-logos{grid-template-columns:repeat(auto-fit,minmax(max(120px,8.5em),1fr))!important}}
.footer-members .partner-item small{font-size:10px!important;line-height:1.4!important;hyphens:manual!important;-webkit-hyphens:manual!important;white-space:normal}
.footer-members .partner-item small .oevm-line{white-space:normal}
.footer-members .partner-logos{font-size:10px;grid-template-columns:repeat(auto-fit,minmax(max(86px,9.6em),1fr))!important}
@media(max-width:600px){.footer-members .partner-logos{grid-template-columns:repeat(auto-fit,minmax(max(120px,9.6em),1fr))!important}}

/* ===== Fußzeile neu: "Mitglied bei" als eigene, volle Zeile unter Kontakt/Links/Social =====
   Funktioniert auch bei Browsern mit Mindestschriftgröße (keine Überlappung, keine Trennung mitten im Wort). */
@media(min-width:601px){.footer-grid{grid-template-columns:1.3fr 1fr 1fr!important}}
.footer-members{grid-column:1 / -1;border-top:1px solid rgba(255,255,255,.12);padding-top:26px;margin-top:6px}
.footer-members .partner-logos{font-size:inherit!important;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))!important;column-gap:28px!important;row-gap:24px!important;max-width:1000px}
.footer-members .partner-item img{height:76px;max-width:200px;margin:0 auto}
.footer-members .partner-item small{font-size:12px!important;line-height:1.45!important;margin-top:10px!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:manual!important;-webkit-hyphens:manual!important;max-width:220px;margin-left:auto!important;margin-right:auto!important}
@media(max-width:600px){.footer-members .partner-logos{grid-template-columns:repeat(2,minmax(0,1fr))!important;column-gap:16px!important}.footer-members .partner-item img{height:64px}}
.footer-members .partner-item small{max-width:none!important}

/* Fußzeile: Logos oben, Kontakt/Links/Social darunter */
.footer-members{order:-1;border-top:0!important;margin-top:0!important;padding-top:0!important;padding-bottom:30px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.12)}

/* Leistungen: mittlere Reihe mit zwei Kästchen (Versicherung, Leasing), mittig, gleiche Größe wie die anderen */
@media(min-width:821px){
 .cards{grid-template-columns:repeat(6,minmax(0,1fr))!important}
 .cards>.card{grid-column:span 2}
 .cards>.card-mid-1{grid-column:2 / span 2}
}

/* Leasing-Kästchen mit Video */
a.card{display:block;color:inherit;text-decoration:none}
.card-video{cursor:pointer;transition:border-color .2s,box-shadow .2s}
.card-video:hover,.card-video:focus-visible{border-color:var(--wine);box-shadow:0 6px 18px rgba(0,0,0,.07);outline:none}
.card-list{list-style:none;margin:6px 0 0;padding:0;color:#555}
.card-list li{position:relative;padding-left:16px;margin:2px 0;line-height:1.6}
.card-list li:before{content:"";position:absolute;left:0;top:.68em;width:6px;height:6px;border-radius:50%;background:var(--wine)}
.card-play{display:inline-flex;align-items:center;gap:8px;margin-top:12px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;color:var(--wine)}
.card-play-icon{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--wine);color:#fff;font-size:10px;padding-left:2px}
/* Video-Fenster */
.vm{position:fixed;inset:0;z-index:10000;display:grid;place-items:center;padding:16px}
.vm[hidden]{display:none}
.vm-backdrop{position:absolute;inset:0;background:rgba(15,18,22,.78)}
.vm-panel{position:relative;width:min(960px,100%);background:#000;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.vm-frame{position:relative;aspect-ratio:16/9;width:100%}
.vm-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;border-radius:8px 8px 0 0}
.vm-close{position:absolute;top:-44px;right:0;width:38px;height:38px;border:0;border-radius:50%;background:#fff;color:var(--anth);font-size:26px;line-height:1;cursor:pointer}
.vm-note{margin:0;padding:8px 14px;font-size:12px;color:#bbb;background:#111;border-radius:0 0 8px 8px}
body.vm-open{overflow:hidden}

/* ===== Untermenü "Service" (Downloads, Online-Formulare) ===== */
.nav-item{position:relative;display:flex;align-items:stretch}
.nav .nav-parent{display:inline-flex;align-items:center;gap:6px}
.caret{display:inline-block;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-3px);margin-left:2px}
.nav .nav-parent.active,.nav .nav-item.active>.nav-parent{color:var(--wine);border-color:var(--wine)}
@media(min-width:821px){
 .subnav{display:none;position:absolute;top:100%;left:-18px;min-width:220px;background:#fff;border-top:3px solid var(--wine);box-shadow:0 12px 28px rgba(0,0,0,.12);padding:8px 0;z-index:1100}
 .nav-item:hover>.subnav,.nav-item:focus-within>.subnav,.nav-item.open>.subnav{display:block}
 .nav .subnav a{display:block;padding:11px 20px!important;border:0!important;font-size:13px!important;white-space:nowrap}
 .nav .subnav a:hover,.nav .subnav a.active{color:var(--wine);background:#f6f6f6}
}
@media(max-width:820px){
 .nav-item{flex-direction:column}
 .subnav{display:flex;flex-direction:column;padding-left:16px;border-left:2px solid var(--line);margin:0 0 6px 2px}
 .nav .subnav a{padding:8px 0!important;font-size:13px;border:0!important}
 .nav .nav-parent{border-bottom:0!important}
}
