body,form,figure{margin:0;padding:0}img{border:0}header,footer,nav,section,aside,article,figure,figcaption{display:block}body{font-size:100.01%}select,input,textarea{font-size:99%}#container,.inside{position:relative}#main,#left,#right{float:left;position:relative}#main{width:100%}#left{margin-left:-100%}#right{margin-right:-100%}#footer{clear:both}#main .inside{min-height:1px}.ce_gallery>ul,.content-gallery>ul{margin:0;padding:0;overflow:hidden;list-style:none}.ce_gallery>ul li,.content-gallery>ul li{float:left}.ce_gallery>ul li.col_first,.content-gallery>ul li.col_first{clear:left}.float_left,.media--left>figure{float:left}.float_right,.media--right>figure{float:right}.block{overflow:hidden}.media{display:flow-root}.clear,#clear{height:.1px;font-size:.1px;line-height:.1px;clear:both}.invisible{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.custom{display:block}#container:after,.custom:after{content:"";display:table;clear:both}
@media (max-width:767px){#wrapper{margin:0;width:auto}#container{padding-left:0;padding-right:0}#main,#left,#right{float:none;width:auto}#left{right:0;margin-left:0}#right{margin-right:0}}img{max-width:100%;height:auto}.audio_container audio{max-width:100%}.video_container video{max-width:100%;height:auto}.aspect,.responsive{position:relative;height:0}.aspect iframe,.responsive iframe{position:absolute;top:0;left:0;width:100%;height:100%}.aspect--16\:9,.responsive.ratio-169{padding-bottom:56.25%}.aspect--16\:10,.responsive.ratio-1610{padding-bottom:62.5%}.aspect--21\:9,.responsive.ratio-219{padding-bottom:42.8571%}.aspect--4\:3,.responsive.ratio-43{padding-bottom:75%}.aspect--3\:2,.responsive.ratio-32{padding-bottom:66.6666%}
/* =========================
   MTM2025 – Base Tokens
   ========================= */
:root{
  --mtm-green: #009058;
  --mtm-dark:  #203030;
  --mtm-bg:    #ffffff;
  --mtm-text:  #0f172a;
  --mtm-muted: #475569;
  --mtm-line:  #e5e7eb;

  --mtm-radius: 16px;
  --mtm-shadow: 0 10px 30px rgba(0,0,0,.10);

  --mtm-container: 1180px;
  --mtm-pad: clamp(16px, 2.2vw, 28px);
}

/* Reset-ish */
*{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; }
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, "Noto Sans", "Liberation Sans", sans-serif;
  color: var(--mtm-text);
  background: var(--mtm-bg);
  line-height: 1.55;
}
img, svg{ max-width:100%; height:auto; }
a{ color: var(--mtm-green); text-decoration: none; }
a:hover{ text-decoration: underline; }

h1,h2,h3{ line-height:1.15; margin: 0 0 .6em; }
h1{ font-size: clamp(34px, 4vw, 56px); letter-spacing: -0.02em; }
h2{ font-size: clamp(24px, 2.6vw, 34px); letter-spacing: -0.01em; }
p{ margin: 0 0 1em; color: var(--mtm-muted); }

/* Container */
.wrapper,
.mod_article,
.inside,
#main .inside{
  max-width: var(--mtm-container);
  margin-left:auto;
  margin-right:auto;
  padding-left: var(--mtm-pad);
  padding-right: var(--mtm-pad);
}

/* =========================
   Header / Navigation (Contao Standard)
   ========================= */
/* Viele Contao-Themes haben #header/#main/#footer – wir stylen defensiv */
#header, header{
  background: var(--mtm-dark);
  color:#fff;
}
#header .inside, header .inside{
  max-width: var(--mtm-container);
  margin: 0 auto;
  padding: 18px var(--mtm-pad);
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 18px;
}

/* Site name / logo link (wenn du aktuell nur Text siehst) */
#header a, header a{ color:#fff; }
#header .logo, header .logo,
#header .mod_navigation, header .mod_navigation{ margin:0; }

/* Falls dein Logo gerade als Seitenname/Link erscheint */
#header .headline, header .headline,
#header .ce_headline, header .ce_headline{
  margin:0;
  color:#fff;
}

/* Main navigation module: .mod_navigation ul */
#header .mod_navigation ul{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  gap: 14px;
  flex-wrap: wrap;
}
#header .mod_navigation li{ margin:0; padding:0; }
#header .mod_navigation a{
  display:inline-flex;
  align-items:center;
  gap: 8px;
  padding: 10px 12px;
  border-radius: 999px;
  font-weight: 600;
  color:#fff;
  opacity:.92;
  text-decoration:none;
}
#header .mod_navigation a:hover{
  opacity:1;
  background: rgba(255,255,255,.08);
  text-decoration:none;
}
#header .mod_navigation .trail > a,
#header .mod_navigation .active > a{
  background: rgba(0,144,88,.22);
  outline: 1px solid rgba(0,144,88,.35);
  opacity:1;
}

/* Language nav / small links */
#header .mod_changelanguage ul,
#header .mod_navigation.meta ul{
  gap: 10px;
}
#header .mod_changelanguage a,
#header .mod_navigation.meta a{
  padding: 8px 10px;
  font-weight: 600;
  opacity: .85;
}

/* Mobile: Navigation stacken */
@media (max-width: 920px){
  #header .inside, header .inside{
    flex-direction: column;
    align-items:flex-start;
  }
  #header .mod_navigation ul{
    width:100%;
    gap: 8px;
  }
  #header .mod_navigation a{
    width:100%;
    justify-content: space-between;
  }
}

/* =========================
   Hero + Sections (wir orientieren uns an deinen PDFs)
   ========================= */
#main, main{ background:#fff; }
#main .inside, main .inside{ padding-top: 28px; padding-bottom: 48px; }

/* große Claim-Optik */
.mtm-hero{
  padding: clamp(22px, 4vw, 46px) 0;
}
.mtm-hero .mtm-sub{
  font-size: clamp(16px, 2vw, 20px);
  color: var(--mtm-muted);
  margin-top: 8px;
}

/* CTA Button-Optik (für Links/Buttons) */
a.mtm-btn, .mtm-btn a, .mtm-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  padding: 12px 18px;
  border-radius: 999px;
  background: var(--mtm-green);
  color:#fff !important;
  font-weight: 700;
  text-decoration:none !important;
  box-shadow: var(--mtm-shadow);
}
a.mtm-btn:hover, .mtm-btn:hover{ filter: brightness(.96); }

/* Section headings */
.mtm-section{
  padding: 34px 0;
  border-top: 1px solid var(--mtm-line);
}

/* Karten / Teaser */
.mtm-grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 980px){
  .mtm-grid{ grid-template-columns: 1fr; }
}
.mtm-card{
  border: 1px solid var(--mtm-line);
  border-radius: var(--mtm-radius);
  padding: 18px;
  background:#fff;
  box-shadow: 0 8px 20px rgba(0,0,0,.06);
}
.mtm-card h3{ margin:0 0 8px; color: var(--mtm-text); }
.mtm-card p{ margin:0; }

/* Footer */
#footer, footer{
  background: #0f1e1e;
  color: rgba(255,255,255,.86);
}
#footer .inside, footer .inside{
  max-width: var(--mtm-container);
  margin:0 auto;
  padding: 26px var(--mtm-pad);
}
#footer a, footer a{ color:#fff; opacity:.9; }
#footer a:hover, footer a:hover{ opacity:1; }

