
:root{
  --green:#63aa32;
  --green-dark:#3f9422;
  --green-soft:#eef6e8;
  --ink:#151515;
  --muted:#555;
  --line:#dde2da;
  --warm:#ead5bd;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.5;font-size:17px}
.container{width:min(1380px,calc(100% - 72px));margin:auto}

/* Header */
header{background:#fff;border-bottom:1px solid #e8ebe6}
.top{height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:flex;align-items:center;gap:14px;color:#111;text-decoration:none}
.brand img{width:38px;height:62px;object-fit:contain}
.brand span{font-size:20px;line-height:1.12}
nav{height:100%;display:flex;align-items:center;gap:36px}
.navitem{height:100%;display:flex;align-items:center;position:relative}
.navitem>a{height:100%;display:flex;align-items:center;color:#111;text-decoration:none;border-bottom:3px solid transparent;padding:0 4px;font-size:16px}
.navitem>a:hover,.navitem>a.active{color:var(--green-dark);border-color:var(--green)}
.arrow{font-size:12px;margin-left:8px}
.dropdown{display:none;position:absolute;top:79px;left:0;min-width:230px;background:#fff;border:1px solid var(--line);box-shadow:0 10px 24px #0002;z-index:20;padding:8px 0}
.navitem:hover .dropdown{display:block}
.dropdown a{display:block;padding:10px 16px;color:#222;text-decoration:none;font-size:15px}
.dropdown a:hover{background:#f6f9f3;color:var(--green-dark)}

/* Hero v12
   The approved hero artwork is displayed at its natural aspect ratio.
   No cover, no crop, no forced height, no stretching. */
.hero{
  width:100%;
  background:#f7efe5;
  overflow:hidden;
  line-height:0;
}
.hero-art{
  display:block;
  width:100%;
  height:auto;
  max-width:none;
}

/* Hide legacy hero text rules; the approved artwork already contains the typography. */
.hero-copy,.hero-copy-inner,.hero h1,.greenline,

/* Middle strip */
.infobar{background:linear-gradient(90deg,#fbfcfa 0%,#fff 50%,#fbfcfa 100%);border-top:1px solid #edf0eb;border-bottom:1px solid var(--line);padding:27px 0}
.infos{display:grid;grid-template-columns:1.08fr 1fr 1.18fr}
.info{display:grid;grid-template-columns:58px 1fr;gap:18px;padding:0 32px;border-right:1px solid #dfe3dc}
.info:first-child{padding-left:0}
.info:last-child{padding-right:0;border-right:0}
.icon{width:54px;height:54px;border-radius:50%;background:var(--green-soft);color:var(--green-dark);display:flex;align-items:center;justify-content:center}
.icon svg{width:29px;height:29px;fill:currentColor}
.info h2,.contact h2,.welcome h2{font-size:21px;color:var(--green-dark);font-weight:500;margin:0 0 12px}
.line{display:grid;grid-template-columns:1fr auto;gap:16px;margin:7px 0;font-size:15px;white-space:nowrap}
.phone-row{display:grid;grid-template-columns:90px 1fr;gap:12px;align-items:center;margin:7px 0;font-size:15px;white-space:nowrap}
.phone{font-size:29px;color:var(--green-dark);font-weight:500}
.contactline{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:15px;white-space:nowrap}
.contactline .sym{width:21px;height:21px;color:var(--green-dark);display:inline-flex;align-items:center;justify-content:center;flex:0 0 21px}
.contactline .sym svg{width:20px;height:20px;fill:currentColor}
.contactline a{color:#111;text-decoration:none}
.contactline a:hover{text-decoration:underline}

/* Main */
.main{padding:30px 0 26px}
.main-grid{display:grid;grid-template-columns:1.45fr .8fr;gap:54px}
.welcome{border-left:1px solid #ddd;padding-left:48px}
.contact h2,.welcome h2{font-size:21px}
.contact>p,.welcome p{font-size:15px}
.fields{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px}
input,select,textarea{width:100%;border:1px solid #cbd1c8;border-radius:4px;padding:10px 12px;font:inherit;font-size:15px;background:#fff}
.full{grid-column:1/-1}
textarea{height:72px;resize:vertical}
.consent{display:flex;gap:7px;font-size:12px;color:#555;margin:9px 0 7px;align-items:flex-start}
.consent input{width:auto;margin-top:3px}
.consent a{color:var(--green-dark)}
.warning{font-size:11px!important;color:#666!important;margin:5px 0 8px}
button{background:var(--green);color:#fff;border:0;border-radius:5px;padding:10px 17px;font-size:14px;font-weight:bold;cursor:pointer}
button:hover{background:var(--green-dark)}
.msg{padding:10px;margin:10px 0;border-radius:4px}
.ok{background:#eaf5e3}.err{background:#fce9e9;color:#822}

/* Footer / legal */
footer{background:#fafbf9;border-top:1px solid #e4e8e1;padding:17px 0;font-size:12px;color:#666}
.foot{display:grid;grid-template-columns:1fr 1.5fr 1fr;gap:20px}
.foot div:nth-child(2){text-align:center}
.foot div:last-child{text-align:right}
.foot a{color:#555}
.legal{padding:55px 0;max-width:960px}
.legal h1{font-size:38px}
.legal h2{font-size:22px;color:var(--green-dark)}
.legal a{color:var(--green-dark)}


@media(max-width:1080px){
 body{font-size:16px}
 .container{width:calc(100% - 40px)}
 nav{gap:18px}
 .brand span{font-size:17px}
 .infos{grid-template-columns:1fr}
 .info{border-right:0;border-bottom:1px solid var(--line);padding:18px 0}
 .info:last-child{border-bottom:0}
 .main-grid{grid-template-columns:1fr}
 .welcome{border-left:0;border-top:1px solid #ddd;padding:25px 0 0}
}
@media(max-width:760px){
 header,.top{height:74px}
 nav{display:none}
 .brand img{width:33px}
 .hero{
   height:auto;
   background:none;
 }
 
 .fields{grid-template-columns:1fr}
 .full{grid-column:auto}
 .line,.phone-row,.contactline{white-space:normal}
 .foot{grid-template-columns:1fr}
 .foot div:nth-child(2),.foot div:last-child{text-align:left}
}


@media(max-width:1080px){
  .hero-art{width:100%;height:auto;}
}
@media(max-width:760px){
  .hero-art{width:100%;height:auto;}
}

/* v13: Menü bewusst entfernt; verhindert auch verbliebene grüne Menü-Unterstreichungen */
header nav{display:none!important;}
.top{justify-content:flex-start;}
