:root{
--green:#75FB4C;--green2:#168B32;--green-dark:var(--green2);--navy:#101d3b;--text:#23304c;--muted:#697387;--line:#e7e9ed;--light:#f7f8f7;--white:#fff;
--head:"Helvetica Neue",Arial,sans-serif;--body:"Helvetica Neue",Arial,sans-serif;--max:1280px;--px:42px;
--s1:8px;--s2:14px;--s3:20px;--s4:28px;--s5:40px;--s6:56px;--logo:320px;
--fs-h1:clamp(28px,4vw + 13px,68px);--fs-h2:clamp(23px,1.6vw + 17px,38px);--fs-h3:clamp(18px,.35vw + 16.5px,21px);
--fs-lead:clamp(18px,.25vw + 17px,20px);--fs-body:17px;--fs-small:15px;--fs-meta:13px;--fs-figure:clamp(24px,1vw + 20px,32px);
--fs-slogan:clamp(30px,1.9vw + 24px,46px);--fs-kicker:12px;--fs-price:24px;--fs-h3-compact:18px;
--lh-h1:1.06;--lh-h2:1.15;--lh-h3:1.25;--lh-lead:1.55;--lh-body:1.65;--lh-small:1.55;--lh-meta:1.4;--lh-figure:1.1}
*{box-sizing:border-box}
body{margin:0;color:var(--text);font-family:var(--body);font-size:var(--fs-body);background:var(--white)}
img{display:block;max-width:100%;height:auto}
a{text-decoration:none;color:inherit}
.in{width:min(var(--max),calc(100% - 2*var(--px)));margin:auto}
header{border-bottom:1px solid var(--line);background:#fff}
.head{min-height:104px;display:flex;align-items:center;gap:34px}
.logo{width:var(--logo);flex:none}
nav{display:flex;gap:27px;margin-left:auto;font-size:14px}
nav a.active{border-bottom:3px solid var(--green)}
.btn{display:inline-flex;align-items:center;gap:14px;background:var(--green);padding:15px 23px;color:#071108;font-weight:700;font-size:16px}
.btn b{font-size:22px}
.kicker{text-transform:uppercase;letter-spacing:.17em;font-size:var(--fs-kicker);margin-bottom:14px}
.more{color:var(--green2);font-weight:700;font-size:var(--fs-small)}
footer{border-top:1px solid var(--line)}
.foot{min-height:72px;display:flex;align-items:center;justify-content:space-between;font-size:var(--fs-meta)}
.links{display:flex;gap:26px}
.mobile-toggle{display:none;background:none;border:0;font:inherit;color:var(--navy);font-weight:700;cursor:pointer;padding:10px}
@media(max-width:1024px){
:root{--px:27px;--logo:265px}
nav{gap:15px}
}
@media(max-width:767px){
:root{--px:19px;--logo:225px}
.foot{flex-direction:column;align-items:flex-start;padding:18px 0}
}

/* Master 45 – Responsive finalization */
html,body{max-width:100%;overflow-x:clip}
.in{max-width:100%}
h1,h2,h3,p,a,span,strong{overflow-wrap:break-word}
@media(max-width:900px){
:root{--px:24px;--logo:245px}
.head{flex-wrap:wrap;padding:14px 0;position:relative;min-height:84px}
.mobile-toggle{display:block;margin-left:auto;min-width:44px;min-height:44px;padding:10px 0 10px 12px;align-self:flex-start;margin-top:calc(var(--logo) * .0757 - 22px)}
.head nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:14px 20px;box-shadow:0 12px 24px rgba(16,29,53,.12);z-index:100;flex-direction:column;align-items:flex-start;gap:4px}
.head nav.open{display:flex}
.head nav a{width:100%;padding:8px 0}
.head>.btn{display:none}
}
@media(max-width:767px){
:root{--px:18px;--logo:205px;--fs-body:16px}
.btn{max-width:100%;white-space:normal}
}
@media(max-width:380px){:root{--px:16px;--logo:190px}}

/* Master 61: sichtbare Inline-Links in Fließtexten */
main p a:not(.btn):not(.more),
main li a:not(.btn):not(.more) {
  color: var(--green);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
main p a:not(.btn):not(.more):hover,
main li a:not(.btn):not(.more):hover {
  text-decoration-thickness: 2px;
}

/* Master 67: Inline-Linkfarbe wie „Mehr erfahren“ */
main p a:not(.btn):not(.more),
main li a:not(.btn):not(.more) {
  color: var(--green2);
}


/* Master 70 bereinigt – Mobile/Tablet-QA */
h1{font-size:var(--fs-h1);line-height:var(--lh-h1);letter-spacing:-.015em;font-weight:700}
h2{font-size:var(--fs-h2);line-height:var(--lh-h2);letter-spacing:-.01em;font-weight:700}
h3{font-size:var(--fs-h3);line-height:var(--lh-h3);font-weight:700}
h1,h2,h3,h4{hyphens:manual;-webkit-hyphens:manual;overflow-wrap:break-word;text-wrap:balance}
.section-head > *{min-width:0}


@media(max-width:900px){
  header{
    position:sticky;
    top:0;
    z-index:1000;
  }
  .head nav a{
    min-height:44px;
    display:flex;
    align-items:center;
    padding:10px 0;
  }
}
@media(max-width:600px){
  .section-head{
    flex-wrap:wrap;
    gap:14px;
    align-items:flex-start;
  }
  .section-head > .more{
    width:100%;
  }
}


/* Master 70 bereinigt – Mobile final */
@media(max-width:600px){
  .head{
    min-height:68px;
    gap:8px;
    flex-wrap:nowrap;
  }
}


/* MASTER 76 – OWL Regionalverlinkungen */
#regionen .region-link-list,
#owl .region-link-list{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:24px;
  margin-top:28px;
}
#owl .region-link-list > a{
  display:block;
  margin:0;
  padding:0;
  line-height:1.25;
}

/* Accessibility: visible keyboard focus */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
