
:root{--navy:#10374a;--deep:#122f3a;--green:#187d6b;--leaf:#328e66;--paper:#fbfcf8;--pale:#edf7f2;--cream:#fdf8ed;--line:#dbe9e2;--muted:#5b7175;--shadow:0 14px 36px #10374a12}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--deep);background:var(--paper);font:16px/1.65 system-ui,-apple-system,Segoe UI,Arial,sans-serif}body[data-lang="de"] [data-l="en"],body[data-lang="en"] [data-l="de"]{display:none!important}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}.wrap{max-width:1160px;margin:auto;width:calc(100% - 44px)}.review{padding:7px 15px;background:#fff2ce;border-bottom:1px solid #ead8a8;text-align:center;font-size:12px;color:#745623;font-weight:700}.top{position:sticky;top:0;z-index:50;background:#ffffffed;backdrop-filter:blur(13px);border-bottom:1px solid var(--line)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:77px}.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:16px;letter-spacing:.03em}.brand img{width:54px;height:50px;object-fit:contain}.brand small{font-weight:650;letter-spacing:.13em;display:block;color:var(--muted);font-size:10px}.nav{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:650}.nav a:hover,.crumb a:hover,.textlink:hover{color:var(--green)}.langs{display:flex;gap:5px}.langs button{padding:7px 10px;border-radius:9px;background:transparent;border:1px solid transparent;font-weight:780;color:#6b7a7e}.langs button[aria-pressed="true"]{background:var(--pale);border-color:var(--line);color:var(--green)}.menu-toggle{display:none;border:1px solid var(--line);border-radius:8px;background:white;padding:6px 11px}.hero{background:linear-gradient(135deg,#e7f5ed 0%,#fffbf2 100%);padding:64px 0 70px}.hero-layout{display:grid;grid-template-columns:1.03fr .97fr;align-items:center;gap:44px}.overline{font-size:12px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:var(--green)}h1{font-size:clamp(43px,5.2vw,70px);line-height:1.09;letter-spacing:-.051em;margin:15px 0 21px;color:var(--navy)}h2{font-size:clamp(29px,3.3vw,45px);letter-spacing:-.04em;line-height:1.19;color:var(--navy);margin:13px 0 18px}h3{font-size:22px;line-height:1.28;letter-spacing:-.018em;margin:6px 0 12px;color:var(--navy)}p{margin:0 0 17px;color:var(--muted)}.lead{font-size:18px;line-height:1.66;max-width:700px}.hero-image,.detail-image{width:100%;height:410px;object-fit:cover;border-radius:26px;box-shadow:var(--shadow);background:#e8f3ee}.hero-image{height:480px}.visual-note{font-size:12px;color:var(--muted);margin-top:9px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}.btn{border:1px solid var(--green);background:var(--green);color:white;display:inline-block;border-radius:40px;padding:12px 22px;font-weight:750;transition:transform .2s,box-shadow .2s}.btn:hover{transform:translateY(-2px);box-shadow:0 8px 20px #16816a2b}.btn.alt{background:white;color:var(--navy);border-color:#cbded5}.section{padding:78px 0}.section.soft{background:#f0f8f3}.section.cream{background:var(--cream)}.headcap{max-width:770px;margin-bottom:33px}.headcap p{font-size:17px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:21px}.cards .card{background:white;border:1px solid var(--line);border-radius:19px;overflow:hidden;box-shadow:0 7px 24px #163f3710;display:flex;flex-direction:column}.card img{width:100%;height:208px;object-fit:cover;display:block;background:#e4f0eb}.card-body{padding:21px 22px 24px;display:flex;flex-direction:column;flex:1}.card-body p{font-size:15px;flex:1}.card-body h3{font-size:21px}.textlink{color:var(--green);font-size:15px;font-weight:800;margin-top:10px}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:19px}.value{padding:25px;background:white;border:1px solid var(--line);border-radius:17px;box-shadow:0 6px 20px #10374a09}.value .valueicon{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;color:var(--green);background:var(--pale);border-radius:12px;font-size:23px;margin-bottom:14px}.value p{font-size:15px;margin:0}.split{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:55px}.split img{width:100%;border-radius:20px;max-height:415px;object-fit:cover;background:#e8f3ee}.pillrow{display:flex;flex-wrap:wrap;gap:9px;margin:22px 0 0}.pill{font-size:13px;color:#195f51;background:#f3fffa;border:1px solid #cee8de;border-radius:40px;padding:7px 12px;font-weight:650}.contactbox{background:linear-gradient(125deg,#e2f1e9,#f8f3e7);border:1px solid #d6e8dc;border-radius:26px;padding:35px 41px;display:flex;align-items:center;justify-content:space-between;gap:26px}.contactbox h2{font-size:32px}.contactbox p{max-width:665px}.contactbox .btn{white-space:nowrap}.foot{background:var(--navy);color:#eef6f2;padding:36px 0 27px}.foot p{color:#cadfda;font-size:13px;margin-bottom:5px}.footlinks{display:flex;gap:14px;flex-wrap:wrap;font-size:13px}.footlinks a{text-decoration:underline}.footgrid{display:flex;align-items:start;justify-content:space-between;gap:25px}.crumb{padding:20px 0 0;color:var(--muted);font-size:13px}.crumb a{text-decoration:underline}.detail-top{padding:39px 0 65px;background:linear-gradient(135deg,#e9f7f0,#fff9ed)}.detail-top .hero-layout{grid-template-columns:1fr .95fr}.detail-top h1{font-size:clamp(37px,4.5vw,60px)}.detail-top .hero-image{height:420px}.detail-content{max-width:870px}.features{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:25px}.feature{border:1px solid var(--line);background:white;padding:23px;border-radius:16px}.feature h3{font-size:18px}.feature p{font-size:15px;margin:0}.whyline{border-left:4px solid var(--green);padding:17px 22px;background:#f3faf5;border-radius:0 12px 12px 0;margin:26px 0}.whyline p{margin:0}.detail-split{display:grid;grid-template-columns:.9fr 1.1fr;align-items:center;gap:55px}.detail-split img{width:100%;height:300px;object-fit:cover;border-radius:21px}.bullets{padding-left:20px;color:var(--muted);margin-top:6px}.bullets li{padding-bottom:7px}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:25px}.metric{border:1px solid var(--line);border-radius:15px;background:white;padding:23px 15px;text-align:center}.metric strong{font-size:24px;color:var(--green);display:block}.metric span{font-size:12px;color:var(--muted)}.smallnote{color:var(--muted);font-size:12px;margin-top:16px}.page{min-height:65vh}.accent{color:var(--green)}.kcard{border-left:4px solid #cce3da;padding-left:20px}.lowerbar{padding:40px 0}.mobile-only{display:none}@media(max-width:950px){.hero-layout,.detail-top .hero-layout,.split,.detail-split{grid-template-columns:1fr}.hero-image{height:370px}.detail-top .hero-image{height:340px}.cards{grid-template-columns:repeat(2,1fr)}.metrics{grid-template-columns:repeat(2,1fr)}.nav{gap:13px;font-size:13px}}@media(max-width:700px){.wrap{width:calc(100% - 32px)}.section{padding:55px 0}.hero{padding:45px 0}.hero-layout{gap:29px}h1{font-size:45px}.lead{font-size:16px}.cards,.value-grid,.features{grid-template-columns:1fr}.cards .card img{height:190px}.contactbox{padding:25px;display:block}.contactbox .btn{margin-top:9px;white-space:normal}.footgrid{display:block}.footlinks{margin-top:13px}.topbar{min-height:67px}.brand img{width:45px;height:43px}.menu-toggle{display:block}.nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px;background:white;box-shadow:var(--shadow);flex-direction:column;align-items:start}.nav.open{display:flex}.metrics{grid-template-columns:repeat(2,1fr)}.hero-image,.detail-top .hero-image{height:290px}.detail-top{padding-top:20px}}

/* ADDED 28.10.2026: supplementary user-supplied photographs ONLY.
   All original website layout, cards, page images, and content are unchanged. */
.hig-extra-section {background: #f7fbf8;}
.hig-extra-section .headcap {margin-bottom:25px;}
.hig-extra-grid {display:grid;gap:22px;grid-template-columns:repeat(2,minmax(0,1fr));}
.hig-extra-grid-1 {grid-template-columns:minmax(0,1fr);max-width:740px;margin:0 auto;}
.hig-extra-grid-3 {grid-template-columns:repeat(3,minmax(0,1fr));gap:17px;}
.hig-extra-photo {min-width:0;margin:0;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 7px 24px #163f3710;}
.hig-extra-photo img {display:block;width:100%;height:305px;object-fit:cover;}
.hig-extra-grid-3 .hig-extra-photo img {height:250px;}
.hig-extra-grid-1 .hig-extra-photo img {height:420px;object-position:center 65%;}
.hig-extra-photo figcaption {padding:14px 18px 17px;color:var(--muted);font-size:14px;line-height:1.5;}
@media(max-width:950px) {.hig-extra-grid-3 {grid-template-columns:repeat(2,minmax(0,1fr));}.hig-extra-grid-3 .hig-extra-photo:last-child{grid-column:1/-1;max-width:640px;width:100%;margin:auto;}}
@media(max-width:700px) {.hig-extra-grid,.hig-extra-grid-3 {grid-template-columns:1fr;gap:17px;}.hig-extra-grid-3 .hig-extra-photo:last-child{grid-column:auto;max-width:none;}.hig-extra-photo img,.hig-extra-grid-3 .hig-extra-photo img {height:255px;}.hig-extra-grid-1 .hig-extra-photo img {height:380px;}.hig-extra-photo figcaption{font-size:13px;}}

/* AI-image notice in footer; does not alter other page elements */
.hig-image-notice{margin-top:18px;padding-top:14px;border-top:1px solid rgba(204,225,217,.26);font-size:12px;line-height:1.6}
.hig-image-notice p{font-size:12px;line-height:1.6;color:#caddd8;margin:0}
.hig-image-notice a{color:inherit;text-decoration:underline}
footer:not(.foot) .hig-image-notice p{color:inherit}



/* 29.10.2026 – targeted UI fixes: larger identity, fluid desktop width and no cropped schematics */
.wrap{max-width:1480px;width:calc(100% - 64px)}
.topbar{min-height:105px;gap:18px}
.brand{gap:15px;font-size:24px;letter-spacing:.025em;flex-shrink:0}
.brand img{width:81px;height:75px;object-fit:contain;flex-shrink:0}
.brand small{font-size:14px;letter-spacing:.1em}
.nav{gap:18px;font-size:15px}
/* Keep all inline text inside technical diagrams visible at every viewport size */
.detail-top .energy-schematic{object-fit:contain!important;background:transparent;box-shadow:none}
.cards .card img[src$=".svg"]{object-fit:contain;background:#f0f8f4;padding:9px}
img{max-width:100%}
.hero-layout>*,.detail-split>*,.split>*,.hig-extra-grid>*{min-width:0}
/* Preserve complete images where the image itself includes labels */
@media(max-width:1100px){
  .wrap{width:calc(100% - 40px)}
  .topbar{min-height:96px}
  .brand{font-size:21px;gap:11px}
  .brand img{width:70px;height:65px}
  .brand small{font-size:12px}
  .nav{gap:12px;font-size:13px}
}
@media(max-width:700px){
  .wrap{width:calc(100% - 32px)}
  .topbar{min-height:78px;gap:9px}
  .brand{font-size:18px;gap:7px;min-width:0}
  .brand img{width:59px;height:57px}
  .brand small{font-size:10px;letter-spacing:.07em}
  .langs button{padding:6px 7px}
  .menu-toggle{padding:6px 9px}
  .detail-top .energy-schematic{height:auto;aspect-ratio:1400/920;max-height:330px}
  .hig-extra-grid-1{width:100%;min-width:0;max-width:100%}
  .hig-extra-photo{min-width:0;max-width:100%;}
}
@media(max-width:390px){
  .topbar{gap:6px}
  .brand{font-size:16px;gap:5px}
  .brand img{width:52px;height:50px}
  .brand small{font-size:9px}
  .langs button{padding:5px 6px}
  .menu-toggle{padding:4px 8px}
}

/* Additional QA: long German compound headings must never exceed mobile viewport */
.headcap h2,.detail-content h2,.detail-split h2{overflow-wrap:anywhere;hyphens:auto}
/* Accommodate the 150% larger company signature on tablet widths */
@media(max-width:1050px) and (min-width:701px){
 .menu-toggle{display:block}
 .nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px;background:white;box-shadow:var(--shadow);flex-direction:column;align-items:flex-start}
 .nav.open{display:flex}
}


/* 29 Oct 2026 | 90% desktop visual scale, while keeping comfortable mobile text.
   Common 1320px-style desktop max-width; no CSS transform/zoom. */
@media (min-width:1101px) {
  .wrap {max-width:1332px; width:90%;}
  .topbar {min-height:95px;gap:16px;}
  .brand {font-size:22px;gap:13px;}
  .brand img {width:73px;height:68px;}
  .brand small {font-size:12.5px;}
  .nav {gap:16px;font-size:14px;}
  .hero {padding:58px 0 63px;}
  .hero-layout {gap:40px;}
  .hero h1 {font-size:clamp(43px,4.7vw,63px);}
  .detail-top h1 {font-size:clamp(37px,4.1vw,54px);}
  .hero-image {height:432px;}
  .detail-top .hero-image {height:378px;}
  .section {padding:70px 0;}
  h2 {font-size:clamp(29px,3vw,41px);}
  .cards .card img {height:190px;}
  .detail-split img {height:280px;}
}
/* Tablet/mobile retain readable text, touch targets, uncropped SVG labels. */


/* 29.10.2026: public version – clear, responsive bilingual legal pages. */
.legal-page{background:#fbfcf8;padding:32px 0 75px}
.legal-wrap{max-width:940px!important;width:calc(100% - 44px)!important}
.legal-page h1{font-size:clamp(32px,4vw,48px);overflow-wrap:anywhere;letter-spacing:-.035em;margin:25px 0 15px}
.legal-breadcrumb{font-size:14px;color:var(--muted)}
.legal-breadcrumb a{text-decoration:underline}
.legal-intro{font-size:17px;max-width:740px}
.legal-section{padding:18px 0 13px;border-bottom:1px solid #e1ebe5}
.legal-section h2{font-size:clamp(22px,2.4vw,29px);margin:10px 0 15px;line-height:1.33;letter-spacing:-.02em;overflow-wrap:anywhere}
.legal-section .legal-copy{color:var(--muted);line-height:1.76}
.legal-section p{color:var(--muted);line-height:1.76;margin:12px 0}
.legal-section address{font-style:normal;line-height:1.8;margin:10px 0 20px;color:var(--deep)}
.legal-section a{color:var(--green);text-decoration:underline;overflow-wrap:anywhere}
.legal-section .legal-copy strong{color:var(--deep)}
:focus-visible{outline:3px solid #328e66;outline-offset:3px}
@media(max-width:700px){.legal-page{padding:24px 0 55px}.legal-wrap{width:calc(100% - 32px)!important}.legal-section h2{font-size:22px}.legal-intro{font-size:16px}}
