@font-face{font-family:Neuropol;src:url("../fonts/neuropol.woff2") format("woff2");font-display:swap}
@font-face{font-family:Jura;src:url("../fonts/jura.woff2") format("woff2");font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Jura;src:url("../fonts/jura.woff2") format("woff2");font-style:normal;font-weight:700;font-display:swap}
:root{--green:#aecb59;--black:#020308;--text:#141414;--shell:980px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;color:var(--text);font-family:Jura,sans-serif;font-size:18px;line-height:1.5;background:#fff}
img{max-width:100%;height:auto;display:block}
a{color:inherit}
.shell{width:min(var(--shell),calc(100% - 48px));margin-inline:auto}
.narrow{max-width:850px}
.section{padding:92px 0}
h1,h2,h3{font-family:Neuropol,Arial,sans-serif;font-weight:400;line-height:1.4;margin:0 0 28px}
h1{font-size:clamp(44px,5vw,60px)}
h2{font-size:clamp(36px,4vw,40px)}
h3{font-size:28px}
p{margin:0 0 22px}
.skip-link,.screen-reader-text{position:absolute;left:-9999px}
.skip-link:focus{left:12px;top:12px;z-index:999;background:#fff;padding:8px}
.site-header{height:54px;background:var(--black);color:#fff;position:relative;z-index:20}
.header-inner{height:100%;width:min(1047px,calc(100% - 32px));display:flex;align-items:stretch}
.page .site-header{background:#8f8f8f}
.home .site-header{background:var(--black)}
.page .header-inner{background:transparent}
.brand{width:255px;padding-left:8px;display:flex;align-items:center;margin-right:0;flex:0 0 auto}
.brand img{width:150px}
.footer-logo{width:180px}
.site-nav{display:flex;align-items:stretch;background:var(--black)}
.page .site-nav{background:#3b3b3b}
.home .site-nav{background:var(--black)}
.site-nav>a,.nav-dropdown>button{border:0;background:none;color:#fff;text-decoration:none;font:700 20px/54px Jura,sans-serif;padding:0;justify-content:center;display:flex;align-items:center;cursor:pointer;transition:background-color .25s ease,color .25s ease}
.site-nav>a:first-child{width:151px}
.site-nav>a[href*="ueber-uns"]{width:195px}
.site-nav>a[href*="kontakt"]{width:176px}
.site-nav .active,.site-nav>a:hover,.nav-dropdown:hover>button{background:var(--green);color:#111}
.nav-dropdown{position:relative;display:flex;width:278px}
.nav-dropdown>button{width:100%}
.dropdown-menu{display:none;position:absolute;top:100%;left:0;min-width:300px;background:#050609;padding:12px;box-shadow:0 10px 30px #0005}
.dropdown-menu a{display:block;padding:11px 14px;color:#fff;text-decoration:none;font:400 20px/1.4 Jura,sans-serif}
.dropdown-menu a:hover{color:var(--green)}
.nav-dropdown:hover .dropdown-menu,.nav-dropdown:focus-within .dropdown-menu{display:block}
.nav-toggle{display:none}
@media(min-width:1265px){
  .header-inner{width:100%;max-width:none;margin:0;padding-left:calc(8.57vw + 1px);padding-right:101px}
  .site-nav{margin-left:auto}
}
.home-hero{height:596px;min-height:596px;background-size:cover;background-position:center top;color:#fff;display:flex;align-items:center}
.hero-content{padding:18px 0 0;transform:translateY(-50px)}
.hero-logo{width:min(800px,75vw);height:auto;margin-bottom:30px}
.hero-logo img{width:100%;max-width:none}
.hero-content p{font-size:40px;font-weight:700;line-height:1.4}
.hero-content>p,.hero-content>.button{margin-left:80px}
.hero-content>p{width:813px}
.hero-content .button{width:390px;min-width:390px}
.hero-content>p,.hero-content>.button{position:relative;top:17px}
.button{display:inline-block;background:var(--green);padding:13px 70px;text-align:center;text-decoration:none;border:0;font:700 18px/1.4 Jura,sans-serif;cursor:pointer;transition:transform .25s ease,background-color .25s ease,color .25s ease}
.button:hover{transform:translateY(-2px);background:#bdd86b}
.button.dark{background:#050505;color:#fff}
.intro{height:520px;min-height:520px;padding:100px 0 0;display:block}
.intro .narrow{max-width:980px}
.intro p{margin-left:80px;max-width:760px}
.green{background:var(--green)}
.services{height:1796px;padding:100px 0}
.services h2{width:820px;margin:0 0 50px 80px}
.card-grid{display:grid;grid-template-columns:1fr;gap:40px}
.service-card{height:470px;display:grid;grid-template-columns:470px 430px;grid-template-rows:auto 1fr auto;column-gap:40px;background:linear-gradient(90deg,transparent 0 470px,#fff 470px 100%)}
.service-card img{grid-column:1;grid-row:1/4;width:470px;height:470px;aspect-ratio:1;object-fit:cover;margin:0}
.service-card h3{grid-column:2;margin:40px 0 68px;padding-bottom:25px;border-bottom:1px solid #111}
.service-card p{grid-column:2;font-family:Jura,sans-serif;font-size:20px;line-height:1.4;min-height:0;margin:0}
.service-card>a{grid-column:2;height:50px;margin:0 0 64px;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font:700 20px/28px Jura,sans-serif}
.team{height:1150px;padding:100px 0}
.team h2{width:820px;margin:0 0 50px 80px}
.wide-image{width:980px;height:470px;max-height:470px;object-fit:cover}
.two-col{display:block;width:820px;margin:50px 0 0 80px}
.lead{font-size:20px;line-height:1.4;margin:0}
.two-col .copy,.copy>div{font-family:Jura,sans-serif}
.team .lead br{display:none}
.team .copy p{font-size:20px;line-height:28px;margin:0}
.two-col .button{width:390px;margin-top:50px}
.copy>div{font-family:Jura,sans-serif}
.page-hero{min-height:456px;background-size:cover;background-position:center;position:relative;max-width:1052px;margin-inline:auto}
.page-hero.fachbereich{width:1065px;max-width:1065px;height:600px;min-height:600px;margin-top:-137px}
.page-hero.unterbereich{height:596px;min-height:596px;max-width:none}
.page-hero.ueber-uns,.page-hero.kontakt{height:596px;min-height:596px;max-width:none}
.page-hero.ueber-uns{background-position:center 70%}
.page-hero.kontakt{background-position:center 42%}
.hero-callout{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;padding-bottom:48px;color:#111}
.hero-callout p{background:var(--green);padding:5px 12px;margin:0;font-size:30px;line-height:1.25;font-weight:700}
.hero-callout p+p{margin-top:4px}
.page-content{padding:72px 0 92px}
.page-content.fachbereich{padding-top:100px}
.page-content.unterbereich{padding-top:54px}
.page-content.unterbereich.has-hero{height:729px;padding:51px 0 0}
.page-content.unterbereich.has-hero .prose{max-width:820px}
.page-content.unterbereich.has-hero .page-title{font-size:46px;line-height:64.4px;margin-bottom:42px}
.prose{max-width:840px}
.has-hero .prose>h1:not(.page-title){display:none}
.page-title{margin-bottom:42px}
.page-content.fachbereich.has-hero .prose{max-width:820px}
.page-content.fachbereich.has-hero .page-title{font-size:46px;line-height:64.4px;margin-bottom:42px}
.subservice{width:980px;height:677px;margin-left:-80px;padding-top:170px}
.prose .subservice h3{width:820px;margin:0 0 26px 81px}
.subservice-body{display:grid;grid-template-columns:250px 650px;gap:40px}
.subservice-body>img{width:250px;height:250px;object-fit:cover}
.subservice-body p{margin-top:0}
.page-content.fachbereich.has-hero .subservice:first-of-type{margin-top:82px}
.page-content.fachbereich.has-hero .subservice:last-of-type{margin-bottom:75px}
.page-content.kontakt .prose>p:nth-child(2),.page-content.kontakt .prose>p:nth-child(3),.page-content.ueber-uns .prose>p:nth-child(2){display:none}
.page-content.kontakt{height:385px;padding:100px 0 0}
.page-content.kontakt .prose{max-width:980px}
.page-content.kontakt .page-title{width:900px;margin:0 0 28px}
.page-content.ueber-uns{height:3995px;padding:100px 0 0;position:relative}
.page-content.ueber-uns .prose{max-width:980px}
.page-content.ueber-uns .page-title{width:900px;margin:0 0 28px}
.about-intro{width:820px;margin-left:80px}
.team-gallery{position:absolute;left:0;top:520px;width:100%;height:1949px}
.team-gallery img{position:absolute;width:470px;height:470px;object-fit:cover}
.team-gallery img:nth-child(1){left:calc(50% - 469px);top:12px}
.team-gallery img:nth-child(2){left:calc(50% + 1px);top:12px}
.team-gallery img:nth-child(3){left:calc(50% - 234px);top:1002px}
.history-section{position:absolute;left:0;top:2469px;width:100%;height:1526px}
.history-inner{width:980px;margin-inline:auto;padding-top:100px}
.prose .history-inner h2{width:820px;margin:0 0 50px 81px}
.history-inner>img{width:980px;height:470px;object-fit:cover;margin-bottom:50px}
.history-inner p{width:820px;margin:0 0 22px 81px;font:400 20px/28px Jura,sans-serif}
.prose h2,.prose h3{margin-top:54px}
.prose p,.prose li{font-family:Jura,sans-serif;font-size:18px;line-height:1.5}
.prose ul{margin:28px 0;padding:0;list-style:none}
.prose li{position:relative;padding:10px 0 10px 38px;border-bottom:1px solid #ddd}
.prose li:before{content:"";position:absolute;left:7px;top:19px;width:10px;height:10px;background:var(--green);border-radius:50%}
.page-content:not(.has-hero) .prose{max-width:700px}
.page-content:not(.has-hero) .prose>h1{font-size:52px;margin-bottom:48px}
.page-content.fachbereich:not(.has-hero){padding:0}
.page-content.unterbereich:not(.has-hero){padding:49px 0 0}
.page-content.fachbereich:not(.has-hero){height:1182px}
.page-content.fachbereich:not(.has-hero) .prose,.page-content.unterbereich:not(.has-hero) .prose{max-width:820px}
.page-content.unterbereich:not(.has-hero) .prose{max-width:780px}
.page-content.fachbereich:not(.has-hero) .prose>h1,.page-content.unterbereich:not(.has-hero) .prose>h1{font-size:56px;line-height:78.4px;margin:0 0 61px}
.page-content.impressum .prose h3{font-family:Jura,sans-serif;font-size:18px;font-weight:700;margin:0 0 4px}
.page-content.datenschutz,.page-content.impressum{padding:100px 0}
.page-content.datenschutz{padding-bottom:268px}
.page-content.impressum{padding-bottom:0}
.page-content.datenschutz .prose,.page-content.impressum .prose{max-width:820px}
.page-content.datenschutz .prose>h1,.page-content.impressum .prose>h1{font-size:40px;line-height:56px;margin:0 0 28px}
.page-content.datenschutz .prose p,.page-content.datenschutz .prose li,.page-content.impressum .prose p,.page-content.impressum .prose li{font-size:16px;line-height:22.4px}
.page-content.impressum .prose p{margin-bottom:20px}
.page-content.datenschutz .prose ul{margin:22px 0;padding-left:28px;list-style:disc}
.page-content.datenschutz .prose li{padding:0;border:0}
.page-content.datenschutz .prose li:before{display:none}
.archive-list{width:752px;margin-left:34px;display:grid;gap:58px}
.archive-card{width:752px;height:263px;min-height:263px;border:1px solid #d8d8d8;background:#fff;display:grid;grid-template-columns:277px 1fr;overflow:visible;transition:transform .3s ease,box-shadow .3s ease}
.archive-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px #0002}
.archive-card>img{width:265px;height:265px;margin:3px 0 0 3px;object-fit:cover}
.archive-card-copy{padding:52px 0 28px 29px;display:flex;flex-direction:column;align-items:flex-start}
.archive-card-copy h2{width:400px;font-size:20px;line-height:28px;margin:0 0 4px}
.archive-card-copy p{font-size:20px;line-height:28px;margin:0}
.archive-card-copy a{margin-top:auto;color:#7e9b2d;font-size:16px;font-weight:400;text-underline-offset:5px}
.unterbereich-list{margin-left:13px}
.unterbereich-list .archive-card{width:753px;height:auto;min-height:264px;grid-template-columns:277px 1fr}
.unterbereich-list .archive-card-copy{padding-top:52px;padding-bottom:28px}
.page-content .prose>*{animation:sw7FadeUp .55s ease both}
.page-content .prose>*:nth-child(2){animation-delay:.04s}
.page-content .prose>*:nth-child(3){animation-delay:.08s}
.page-content .prose>*:nth-child(4){animation-delay:.12s}
.page-content .prose>*:nth-child(5){animation-delay:.16s}
.contact-band{height:939px;background:var(--green);padding:99px 0 0}
.contact-grid{display:block}
.contact-form{width:820px;margin-left:80px;display:grid;grid-template-columns:381px 381px;column-gap:40px;row-gap:29px}
.contact-form h2,.contact-form .wide{grid-column:1/-1}
.contact-form h2{margin:0 0 4px}
.contact-form label{font-size:0;margin-left:2px}
.contact-form input,.contact-form textarea{width:100%;border:0;background:#fff;padding:8px 12px;font:400 20px/28px Jura,sans-serif;color:#9db54e;border-radius:0}
.contact-form input{height:44px}
.contact-form textarea{height:72px;resize:none}
.contact-form label:has(textarea){margin-top:8px}
.contact-form input::placeholder,.contact-form textarea::placeholder{color:#9db54e;opacity:1}
.honeypot{position:absolute!important;left:-9999px}
.form-status{grid-column:1/-1;font-family:Jura,sans-serif}
.form-submit{width:256px;height:46px;margin-top:6px;border:0;background:#fff;color:#9db54e;font:400 20px/26px Jura,sans-serif;cursor:pointer}
.contact-details{margin:10px 0 0 80px;width:820px}
.contact-details h2{margin:0 0 50px}
.contact-columns{display:grid;grid-template-columns:390px 390px;gap:40px}
.contact-columns p{font:400 20px/28px Jura,sans-serif;margin:0}
.contact-details a{text-decoration:none}
.location-map{height:500px;background:#ddd}
.location-map iframe{display:block;width:100%;height:500px;border:0}
.footer-links{height:473px;background:var(--green);padding:58px 0 0}
.footer-link-grid{width:820px;display:grid;grid-template-columns:390px 390px;gap:40px}
.footer-link-grid nav{display:flex;flex-direction:column}
.footer-link-grid a{height:45px;padding:8px 10px;border-bottom:1px solid #111;text-decoration:none;font:400 20px/28px Jura,sans-serif}
.footer-link-grid a.current{background:var(--black);color:var(--green)}
.footer-legal{height:340px;background:#fff;padding:100px 0 0}
.footer-legal-inner{width:820px}
.footer-legal p{font:400 16px/22px Jura,sans-serif;margin:0 0 26px}
.footer-legal strong{font-size:20px;line-height:28px;color:#9db54e}
.footer-legal a{text-decoration:none}
.home-hero .hero-logo,.home-hero .hero-content>p,.home-hero .button{animation:sw7FadeUp .7s ease both}
.home-hero .hero-content>p{animation-delay:.12s}
.home-hero .button{animation-delay:.24s}
.page-hero{animation:sw7Reveal .7s ease both}
.service-card,.team .two-col{animation:sw7FadeUp .65s ease both}
.service-card img,.wide-image{transition:transform .45s ease,filter .45s ease}
.service-card:hover img,.wide-image:hover{transform:scale(1.015);filter:saturate(1.06)}
@keyframes sw7FadeUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes sw7Reveal{from{opacity:.4;filter:saturate(.7)}to{opacity:1;filter:saturate(1)}}
@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(max-width:900px){
  html,body{min-width:0;max-width:100%;overflow-x:hidden}
  body{font-size:18px;line-height:1.5}
  .shell{width:calc(100% - 32px)}
  .section{padding:68px 0}
  h1{font-size:40px;line-height:1.25}
  h2{font-size:34px;line-height:1.3}
  h3{font-size:26px;line-height:1.35}
  .site-header{height:54px;background:var(--black)}
  .header-inner{width:100%;margin-inline:auto;padding:0 16px}
  .page .brand{background:#8f8f8f;margin-left:-16px;padding-left:16px}
  .brand{width:165px;padding:0;margin-right:auto}
  .brand img{width:130px}
  .nav-toggle{display:block;width:54px;border:0;background:none;margin-left:auto;padding:0;cursor:pointer}
  .nav-toggle span:not(.screen-reader-text){display:block;height:2px;background:#fff;margin:7px}
  .site-nav{display:none;position:absolute;top:54px;left:0;right:0;background:#050609;flex-direction:column;align-items:stretch;padding:12px 16px 20px}
  .page .site-nav{background:#050609}
  .site-nav.open{display:flex}
  .site-nav>a,.nav-dropdown>button{width:100%!important;min-height:52px;padding:0 16px;justify-content:flex-start;font-size:18px;line-height:52px}
  .nav-dropdown{display:block;width:100%}
  .dropdown-menu{position:static;display:block;min-width:0;box-shadow:none;padding:0 0 8px 18px}
  .dropdown-menu a{font-size:17px;padding:9px 14px}
  .home-hero{height:596px;min-height:596px;display:flex;background-size:cover;background-position:center top}
  .hero-content{width:calc(100% - 32px);margin-inline:auto;padding:0;transform:none}
  .hero-logo{width:100%;height:auto;margin:0 0 28px}
  .hero-logo img{width:100%}
  .hero-content p{width:auto;height:auto;margin:0 0 22px;font-size:28px;line-height:1.4}
  .hero-content>p,.hero-content>.button{top:0}
  .hero-content .button{display:block;width:100%;min-width:0;height:auto;margin-left:0;padding:13px 20px}
  .intro{display:block;height:auto;min-height:0;padding:72px 0}
  .intro .narrow{width:calc(100% - 32px);max-width:none;margin-inline:auto}
  .intro h1{margin-bottom:28px}
  .intro p{width:auto;max-width:none;margin-left:0}
  .services{height:auto;padding:68px 0}
  .services .shell{width:calc(100% - 32px);margin-inline:auto}
  .services h2{width:auto;margin:0 0 34px}
  .card-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:54px}
  .service-card{display:block;width:100%;min-width:0;height:auto;padding-bottom:24px;background:#fff;overflow:hidden}
  .service-card img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0}
  .service-card h3{margin:0 24px 26px;padding:24px 0 20px;border-bottom:1px solid #111;overflow-wrap:anywhere}
  .service-card p{min-height:0;margin:0 24px 24px;font-size:18px;line-height:1.5}
  .service-card>a{width:auto;height:50px;margin:0 24px;background:var(--green);color:#fff;display:flex;text-align:center;font-size:18px;line-height:1.5}
  .team{height:auto;padding:68px 0}
  .team .shell{width:calc(100% - 32px);margin-inline:auto}
  .team h2{width:auto;margin:0 0 34px}
  .wide-image{width:100%;height:auto;aspect-ratio:1.35;object-fit:cover}
  .two-col{width:100%;margin:36px 0 0;grid-template-columns:1fr;gap:28px}
  .two-col .button{width:100%;min-width:0;margin-top:34px;padding-inline:18px}
  .lead{font-size:22px}
  .page-hero{width:100%;max-width:none}
  .page-hero.fachbereich{width:100%;height:470px;min-height:470px;margin-top:0;background-size:cover}
  .page-hero.unterbereich{height:596px;min-height:596px;background-position:30% center}
  .page-hero.ueber-uns,.page-hero.kontakt{height:596px;min-height:596px}
  .hero-callout{padding-bottom:28px}
  .hero-callout p{font-size:17px;padding:7px 11px}
  .page-content{padding:64px 0}
  .page-content.kontakt,.page-content.ueber-uns{height:auto;padding:64px 0}
  .page-content.kontakt .page-title,.page-content.ueber-uns .page-title{width:auto}
  .about-intro{width:auto;margin-left:0}
  .team-gallery{position:static;width:100%;height:auto;display:grid;grid-template-columns:1fr;gap:28px;margin-top:42px}
  .team-gallery img,.team-gallery img:nth-child(n){position:static;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
  .history-section{position:static;width:100%;height:auto;margin-top:64px}
  .history-inner{width:100%;padding-top:0}
  .prose .history-inner h2{width:auto;margin:0 0 30px}
  .history-inner>img{width:100%;height:auto;aspect-ratio:1.35;margin-bottom:34px}
  .history-inner p{width:auto;margin:0 0 22px;font-size:18px;line-height:1.5}
  .page-content.fachbereich,.page-content.unterbereich{padding-top:64px}
  .page-content.unterbereich.has-hero{height:auto;padding:64px 0}
  .page-content .page-title{font-size:34px;line-height:1.25;overflow-wrap:anywhere;margin-bottom:30px}
  .page-content.fachbereich .page-title{font-size:34px}
  .page-content.unterbereich .page-title{font-size:34px}
  .subservice{width:100%;height:auto;margin-left:0;padding:52px 0}
  .prose .subservice h3{width:auto;margin:0 0 26px}
  .page-content.fachbereich.has-hero .subservice:first-of-type{margin-top:0}
  .page-content.fachbereich.has-hero .subservice:last-of-type{margin-bottom:0}
  .subservice-body{grid-template-columns:1fr;gap:28px}
  .subservice-body>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
  .prose p,.prose li{font-size:18px;line-height:1.5}
  .page-content:not(.has-hero) .prose>h1{font-size:38px;margin-bottom:34px}
  .page-content.fachbereich:not(.has-hero),.page-content.unterbereich:not(.has-hero){height:auto;padding:64px 0}
  .page-content.fachbereich:not(.has-hero) .prose,.page-content.unterbereich:not(.has-hero) .prose{max-width:none}
  .page-content.fachbereich:not(.has-hero) .prose>h1,.page-content.unterbereich:not(.has-hero) .prose>h1{font-size:38px;line-height:1.25;margin-bottom:34px}
  .archive-list,.unterbereich-list{width:100%;min-width:0;margin-left:0;grid-template-columns:minmax(0,1fr);gap:32px}
  .archive-card,.unterbereich-list .archive-card{display:block;width:100%;max-width:100%;min-width:0;height:auto;min-height:0;overflow:hidden}
  .archive-card>img{width:100%;height:auto;aspect-ratio:1;object-fit:cover}
  .archive-card.no-image>span{display:none}
  .archive-card-copy{padding:26px 24px}
  .archive-card-copy h2{width:auto;max-width:100%;font-size:24px;overflow-wrap:anywhere}
  .unterbereich-list .archive-card{min-height:220px}
  .unterbereich-list .archive-card-copy{min-height:220px;padding:48px 24px 28px}
  .contact-band{height:auto;padding:64px 0}
  .contact-grid{display:grid;width:calc(100% - 32px);margin-inline:auto;grid-template-columns:1fr;gap:52px}
  .contact-form{width:auto;height:auto;margin:0;padding:0;grid-template-columns:1fr;gap:18px}
  .contact-form>*{grid-column:1}
  .contact-form h2,.contact-form .wide{grid-column:1}
  .contact-form input,.contact-form textarea{font-size:18px;line-height:26px}
  .form-submit{width:100%}
  .contact-details{width:auto;height:auto;margin:0;padding:0}
  .contact-columns{grid-template-columns:1fr;gap:0}
  .location-map,.location-map iframe{width:100%;height:320px}
  .footer-links{width:100%;height:auto;padding:54px 0}
  .footer-link-grid{width:calc(100% - 32px);grid-template-columns:1fr;gap:34px}
  .footer-legal{height:auto;padding:54px 0}
  .footer-legal-inner{width:calc(100% - 32px)}
}
