:root{--ink:#183744;--deep:#10313e;--muted:#58717c;--line:#d8e2e5;--aqua:#a8cfd1;--paper:#f7f9f8;--white:#fff;--gold:#ba9f72}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.65;background:var(--white)}a{color:inherit}img{max-width:100%;display:block}.container{width:min(1180px,calc(100% - 44px));margin:auto}.eyebrow{font-size:.76rem;letter-spacing:.19em;text-transform:uppercase;font-weight:800;color:#547882}.section{padding:104px 0}.section-heading{max-width:710px;margin-bottom:46px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(3rem,6.8vw,6.2rem);line-height:1.06;letter-spacing:-.055em;font-weight:650}h2{font-size:clamp(2.2rem,4vw,3.55rem);line-height:1.15;letter-spacing:-.045em;font-weight:650}h3{font-size:1.27rem;letter-spacing:-.025em}p{color:var(--muted)}.lead{font-size:clamp(1.06rem,1.8vw,1.32rem);max-width:620px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:14px;background:#b6d5d5;color:#10313e;padding:15px 22px;text-decoration:none;font-weight:700;font-size:.92rem;transition:.2s;border:1px solid #b6d5d5}.btn:hover{background:white}.btn-outline{color:var(--white);background:transparent;border-color:#86a4ae}.btn-outline:hover{color:var(--deep)}.btn-dark{background:var(--deep);color:white;border-color:var(--deep)}.btn-dark:hover{color:var(--deep);background:white}.site-header{height:88px;position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);border-bottom:1px solid #e4ebed;backdrop-filter:blur(12px)}.header-inner{height:100%;display:flex;justify-content:space-between;align-items:center;gap:25px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;white-space:nowrap}.brand-mark{width:42px;height:42px;background:var(--deep);color:#c4e0e1;display:grid;place-items:center;font-size:17px;font-weight:800;letter-spacing:-.06em;line-height:1;text-indent:-.03em}.brand-text{line-height:1.1;letter-spacing:.11em;font-size:1rem;font-weight:800}.brand-text small{display:block;font-size:.57rem;letter-spacing:.28em;font-weight:600;color:#71858a;margin-top:5px}.nav{display:flex;align-items:center;gap:30px}.nav a{font-size:.87rem;font-weight:700;text-decoration:none}.nav a:hover,.foot-links a:hover{color:#4e929a}.nav .nav-contact{border:1px solid #bdd0d4;padding:9px 15px}.menu-button{display:none;border:0;background:none;color:var(--ink);font-size:1.6rem;cursor:pointer}.hero{min-height:640px;background:linear-gradient(122deg,#10313e 0%,#164456 53%,#2a5866 100%);color:white;overflow:hidden;position:relative}.hero:before{content:"";position:absolute;right:-210px;top:-250px;width:850px;height:850px;border:1px solid #b0d4dc36;border-radius:50%;box-shadow:0 0 0 120px #a8d8db09,0 0 0 240px #a8d8db07}.hero-grid{display:grid;grid-template-columns:1.06fr .94fr;align-items:center;min-height:640px;gap:12px;position:relative}.hero h1{margin:21px 0 23px}.hero p{color:#cadde0}.hero .eyebrow{color:#a7d5d7}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:34px}.hero-art{max-width:630px;width:120%;transform:translate(0,28px);filter:drop-shadow(0 20px 20px #061b2050)}.hero-foot{position:absolute;bottom:25px;left:0;font-size:.77rem;letter-spacing:.12em;color:#b9d3d8}.stats{background:#e9f0f0;padding:30px 0}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr)}.stat{padding:10px 36px;border-right:1px solid #bed0d2}.stat:first-child{padding-left:0}.stat:last-child{border:0}.stat strong{font-size:2.1rem;color:#173a49;line-height:1.3;display:block;letter-spacing:-.045em}.stat span{font-size:.86rem;color:#60777d}.intro-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;align-items:start}.intro-note{border-top:2px solid var(--gold);padding-top:18px;margin-top:30px;color:#46616a}.products{background:var(--paper)}.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.product-card{background:white;border:1px solid #e0e9e9;display:flex;flex-direction:column;min-height:325px;transition:transform .2s,box-shadow .2s}.product-card:hover{transform:translateY(-5px);box-shadow:0 15px 38px #193d4514}.product-art{height:136px;display:flex;align-items:center;justify-content:center;background:linear-gradient(125deg,#eef4f3,#d8e8e8);overflow:hidden}.product-art svg{height:135px;width:220px}.product-body{padding:25px 27px;flex:1;display:flex;flex-direction:column}.product-body p{font-size:.93rem}.product-body a{margin-top:auto;text-decoration:none;font-size:.9rem;color:#255e6a;font-weight:800}.product-body a:hover{text-decoration:underline}.split{display:grid;grid-template-columns:1fr 1fr;min-height:495px}.split-visual{background:radial-gradient(circle at 50% 45%,#5c8793,#183d4d 70%);display:grid;place-items:center;padding:30px;min-height:390px}.split-visual img{max-height:425px}.split-copy{background:#133b4c;color:white;display:flex;align-items:center;padding:70px clamp(24px,7vw,120px)}.split-copy .eyebrow{color:#aed3d7}.split-copy p{color:#c7dbdf}.quality-points{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.quality-point{border-top:1px solid #cbdadc;padding-top:22px}.quality-point b{display:block;font-size:1.06rem}.quality-point p{font-size:.92rem;margin-top:10px}.contact{background:#e8f0f0}.contact-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:8%;row-gap:48px;align-items:start}.contact-details{background:white;padding:38px;box-shadow:0 14px 40px #163b4410}.contact-details p{margin:0 0 22px}.contact-details strong{display:block;color:var(--ink);font-size:.88rem;margin-bottom:6px}.contact-details a{color:#235a69;text-decoration:none}.contact-details a:hover{text-decoration:underline}.footer{background:#102e3a;color:#c0d1d6;padding:50px 0 28px}.footer-top{display:flex;justify-content:space-between;gap:25px}.footer .brand-text{color:white}.footer .brand-text small{color:#b1c6cb}.footer .brand-mark{background:#c4e0e1;color:#10313e}.foot-links{display:flex;flex-wrap:wrap;gap:22px;align-items:center;font-size:.84rem}.foot-links a{text-decoration:none}.footer-bottom{border-top:1px solid #385663;margin-top:40px;padding-top:23px;font-size:.78rem;color:#94acb5}.legal{max-width:850px;padding:70px 0 110px}.legal h1{font-size:3rem}.legal h2{font-size:1.4rem;margin-top:34px}.legal p{overflow-wrap:anywhere}.back{display:inline-block;margin-bottom:20px;color:#376473;text-decoration:none}.notice{border-left:3px solid var(--gold);padding:14px 18px;background:#f7f4ed;color:#4f5b60;font-size:.92rem;margin:22px 0}@media(max-width:900px){.nav{gap:16px}.hero-grid{grid-template-columns:1.05fr .95fr}.hero-art{width:125%}.product-grid{grid-template-columns:repeat(2,1fr)}.section{padding:76px 0}}@media(max-width:700px){.site-header{height:72px}.brand-text{font-size:.8rem}.brand-mark{width:36px;height:36px}.menu-button{display:block}.nav{display:none;position:absolute;top:72px;left:0;right:0;padding:22px;background:white;box-shadow:0 16px 25px #0d29321b;flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav a{padding:12px}.hero-grid{grid-template-columns:1fr;min-height:auto;padding-top:70px;padding-bottom:70px}.hero{min-height:0}.hero-art{width:100%;max-height:370px;transform:none;margin-top:25px}.hero-foot{bottom:15px}.stats-grid{gap:0}.stat{padding:8px 12px}.stat strong{font-size:1.4rem}.stat span{font-size:.7rem}.intro-grid,.contact-grid,.split{grid-template-columns:1fr;gap:28px}.quality-points{grid-template-columns:1fr;gap:0}.split-copy{padding:60px 24px}.split-visual{min-height:300px}.footer-top{flex-direction:column}.contact-details{padding:26px}}@media(max-width:480px){.container{width:calc(100% - 34px)}.section{padding:64px 0}.product-grid{grid-template-columns:1fr}.product-card{min-height:280px}.hero h1{font-size:3.15rem}.hero-art{max-height:310px}.stats{padding:16px 0}.stats-grid{grid-template-columns:1fr 1fr}.stat:nth-child(2){border:0}.stat:last-child{grid-column:1/-1;padding:14px 0 0;border-top:1px solid #bed0d2;margin-top:12px}.contact-details{overflow-wrap:anywhere}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Multilingual navigation and genuine product photography */
.lang-switch{display:flex;align-items:center;gap:5px;margin-left:12px;border-left:1px solid #b8c5c6;padding-left:16px}.lang-switch a{font-size:12px;font-weight:700;letter-spacing:.04em;padding:7px 9px!important;border-radius:5px;text-decoration:none}.lang-switch a.active{background:#b7dbda;color:#10313e!important}.product-art{height:180px;overflow:hidden}.product-art img{width:100%;height:100%;object-fit:cover;display:block}.hero-art{width:100%;height:auto;object-fit:contain;border-radius:10px}.company-photo{display:block;width:100%;max-width:100%;height:auto;object-fit:contain;border-radius:10px}.split-visual img{object-fit:cover;width:100%;height:100%}@media(max-width:900px){.lang-switch{margin:10px 0 0;border-left:0;border-top:1px solid #dbe1e1;padding:12px 0 0;justify-content:center}.product-art{height:160px}}

/* Certifications and team */
.certification-section{background:#f5f8f7}.cert-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-top:34px}.cert-card{padding:32px;background:#fff;border:1px solid #dce8e6;border-radius:12px}.cert-card h3{margin:16px 0 8px}.cert-card p{margin:0;color:#52636a}.cert-symbol{font-size:26px;letter-spacing:.05em;color:#135b7c;font-weight:800}.cert-original{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);align-items:center;gap:40px;margin-top:32px}.cert-original img{max-width:100%;max-height:360px;object-fit:contain}.cert-original a{display:flex;flex-direction:column;gap:10px;color:#135b7c}.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:36px 0}.team-card{overflow:hidden;border:1px solid #e3e8e8;border-radius:10px;background:#fff}.team-card img{display:block;width:100%;height:250px;aspect-ratio:auto;object-fit:cover;object-position:center 18%;background:#e9eeed}.team-card-text{padding:18px}.team-card h3{font-size:1.13rem;line-height:1.25;margin:0 0 9px}.team-card p{font-size:.91rem;line-height:1.45;min-height:66px;margin:0 0 12px;color:#485a62}.team-card a{font-size:.84rem;overflow-wrap:anywhere}.senior-title{margin-top:52px}.image-note{font-size:.82rem;color:#6d7779;margin-top:20px}@media(max-width:900px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.team-grid,.cert-grid,.cert-original{grid-template-columns:1fr}.team-card{display:grid;grid-template-columns:36% 64%}.team-card img{height:100%;min-height:205px;aspect-ratio:auto;object-fit:cover}.team-card-text{padding:14px}.team-card p{min-height:0}.cert-card{padding:24px}}

/* Contact form – three languages */
.contact-form-panel{grid-column:1/-1;background:white;border:1px solid #d7e5e7;padding:clamp(22px,4vw,46px);margin-top:18px}.contact-form-panel h3{font-size:clamp(1.4rem,3vw,2rem)}.contact-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 22px}.contact-form label{display:flex;flex-direction:column;gap:6px;font-weight:700;font-size:.92rem}.contact-form input:not([type=checkbox]),.contact-form textarea{font:inherit;color:var(--ink);width:100%;padding:12px 13px;border:1px solid #a8bec3;border-radius:0;background:#fff}.contact-form textarea,.privacy-check,.contact-form .btn,.form-alternative{grid-column:1/-1}.contact-form label:has(textarea){grid-column:1/-1}.privacy-check{display:flex!important;flex-direction:row!important;align-items:flex-start;gap:12px!important;font-weight:400!important}.privacy-check input{margin-top:5px;flex-shrink:0}.form-hp{position:absolute;left:-9999px;height:1px;overflow:hidden}.form-feedback{padding:14px 16px;background:#eaf2f2;margin-bottom:22px}.form-alternative{margin:0}@media(max-width:600px){.contact-form{grid-template-columns:1fr}.contact-form-panel{grid-column:1}}

.unavailable-document{color:#9a5c27;text-decoration:none;font-size:.88rem}.cert-original .unavailable-document{display:inline-block;padding:15px 0}

/* Mehr Abstand unter dem Kontaktformular vor dem Footer – alle Sprachen und Viewports */
.contact:has(.contact-form-panel){padding-bottom:clamp(120px,12vw,180px)}
.contact-form-panel{min-width:0}
@media(max-width:700px){.contact:has(.contact-form-panel){padding-bottom:110px}}

/* Fix: no percentage-based row gap; keep contact panel inside normal document flow */
.contact-grid{row-gap:48px;column-gap:8%;align-content:start}
.contact-form-panel{grid-column:1/-1;margin-top:0;position:static;transform:none;max-width:100%;box-sizing:border-box}
.contact:has(.contact-form-panel){padding-bottom:clamp(80px,8vw,125px)}
@media(max-width:700px){.contact-grid{row-gap:32px;column-gap:0}.contact:has(.contact-form-panel){padding-bottom:80px}}

/* Responsive four-slide header */
.hero-slider{position:relative;background:#10313e;min-height:clamp(420px,43vw,620px);overflow:hidden;color:#fff;isolation:isolate}
.hero-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity 1.5s ease-in-out,visibility 1.5s;z-index:0}
.hero-slide.is-active{opacity:1;visibility:visible;z-index:1}
.hero-slide-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.hero-slide-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,30,44,.83) 0%,rgba(8,30,44,.67) 35%,rgba(8,30,44,.18) 80%)}
.hero-slide-inner{height:clamp(420px,43vw,620px);position:relative;display:flex;align-items:center;padding-top:35px;padding-bottom:75px}
.hero-slide-copy{max-width:660px}
.hero-slide-copy h1,.hero-slide-copy h2{color:white;font-size:clamp(2.1rem,5.1vw,4.6rem);line-height:1.07;letter-spacing:-.045em;margin:0 0 16px;text-wrap:balance}
.hero-slide-kicker{color:#b8dcdf!important;letter-spacing:.18em;text-transform:uppercase;font-size:clamp(.7rem,1.1vw,.9rem);font-weight:800;margin:0 0 17px}
.hero-slide-description{color:#f2f6f6!important;max-width:470px;font-size:clamp(1rem,1.5vw,1.18rem);margin-bottom:25px;text-shadow:0 1px 5px #102e3a80}
.hero-slide-cta{display:inline-block;background:#c4e0e1;color:#10313e;text-decoration:none;font-size:.95rem;font-weight:750;padding:12px 20px;border:1px solid #c4e0e1}
.hero-slide-cta:hover{background:#fff}
.hero-slider-controls{position:absolute;inset:auto 0 19px;z-index:5;display:flex;align-items:center;gap:12px;pointer-events:none}
.hero-slider-arrow,.hero-slider-dot{pointer-events:auto;cursor:pointer}
.hero-slider-arrow{width:38px;height:38px;border:1px solid #ffffff8c;background:#102e3a99;color:#fff;font-size:28px;line-height:1;display:grid;place-items:center}
.hero-slider-arrow:hover{background:#c4e0e1;color:#10313e}
.hero-slider-dots{display:flex;gap:8px;margin-left:12px}
.hero-slider-dot{background:#ffffff7d;border:1px solid #fff;width:10px;height:10px;padding:0;border-radius:50%}
.hero-slider-dot.is-active{background:#fff;transform:scale(1.2)}
.hero-slider button:focus-visible{outline:3px solid #c4e0e1;outline-offset:4px}
@media(max-width:700px){.hero-slider,.hero-slide-inner{min-height:510px;height:510px}.hero-slide-inner{padding-top:45px;padding-bottom:76px}.hero-slide-shade{background:linear-gradient(90deg,#0c2938de 0%,#0c2938a8 72%,#0c293866 100%)}.hero-slide-copy{max-width:94%}.hero-slide-copy h1,.hero-slide-copy h2{font-size:clamp(2rem,8vw,3.2rem)}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}}

/* Harmonized team portraits: tighter portrait crop for Jörg Lipfert-Eschrich so the head size matches the other team photos better. */
.team-card img[src*="joerg_lipfert_eschrich"]{object-fit:cover;object-position:center 10%;background:#e9eeed;transform:scale(1.06);transform-origin:center 12%}
@media(max-width:600px){.team-card img[src*="joerg_lipfert_eschrich"]{object-fit:cover;object-position:center 12%;transform:scale(1.04)}}

/* Three company facts: balanced desktop and mobile layout */
.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{min-width:0}
.stat strong{overflow-wrap:normal}
@media(max-width:700px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.stat{padding:8px 12px}.stat strong{font-size:clamp(1rem,3.4vw,1.4rem)}.stat:last-child{border-right:0}}
@media(max-width:480px){.stats-grid{grid-template-columns:1fr}.stat,.stat:first-child,.stat:nth-child(2),.stat:last-child{grid-column:auto;border:0;border-top:1px solid #bed0d2;padding:12px 0;margin:0}.stat:first-child{border-top:0}.stat strong{font-size:1.45rem}.stat span{font-size:.82rem}}

/* Kennzahlen auch auf schmalen Smartphones dreispaltig */
@media (max-width: 480px) {
  .stats-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; }
  .stats-grid .stat, .stats-grid .stat:first-child, .stats-grid .stat:nth-child(2), .stats-grid .stat:last-child { grid-column: auto; min-width: 0; margin: 0; padding: 5px 7px; border-top: 0; border-right: 1px solid #bed0d2; text-align: center; }
  .stats-grid .stat:last-child { border-right: 0; }
  .stats-grid .stat strong { font-size: clamp(0.95rem, 4.4vw, 1.28rem); line-height: 1.15; white-space: nowrap; }
  .stats-grid .stat span { display: block; font-size: clamp(0.64rem, 2.6vw, 0.76rem); line-height: 1.3; overflow-wrap: break-word; hyphens: auto; }
}

/* Original KE logo in both header and footer, including narrow-screen sizing. */
.brand-logo-image{display:block;width:92px;height:48px;max-width:none;object-fit:contain;flex-shrink:0}
.site-header .brand{gap:9px}
.footer .brand-logo-image{background:#fff;border-radius:3px;padding:3px;width:98px;height:50px}
@media(max-width:850px){.site-header .brand-logo-image{width:70px;height:38px}.site-header .brand-text{font-size:.82rem;letter-spacing:.065em}.site-header .brand-text small{font-size:.5rem;letter-spacing:.12em}}
@media(max-width:420px){.site-header .brand-logo-image{width:58px;height:34px}.site-header .brand{gap:5px}.site-header .brand-text{font-size:.69rem}.site-header .brand-text small{font-size:.44rem;letter-spacing:.055em}.footer .brand-logo-image{width:85px;height:44px}}

/* Official white KE vector logo – consistent contrast in navigation and footer. */
.site-header .brand-logo-image,.footer .brand-logo-image{box-sizing:border-box;background:#10313e;border-radius:2px;padding:5px 7px;object-fit:contain;object-position:center;flex-shrink:0}
.site-header .brand-logo-image{width:92px;height:48px}
.footer .brand-logo-image{width:98px;height:50px;background:#174354}
@media(max-width:850px){.site-header .brand-logo-image{width:70px;height:38px;padding:4px 5px}}
@media(max-width:420px){.site-header .brand-logo-image{width:58px;height:34px;padding:3px 4px}.footer .brand-logo-image{width:85px;height:44px}}

/* Company history: editorial timeline */
.history-section{padding:90px 0 100px;background:linear-gradient(130deg,#edf5f5 0%,#f8faf9 72%);overflow:hidden}
.history-intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:end;margin-bottom:48px}
.history-intro h2{margin:12px 0 0;max-width:610px}.history-intro p{font-size:1.08rem;max-width:530px;margin:0}
.history-timeline{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;position:relative}
.history-milestone{position:relative;background:#fff;border:1px solid #d6e5e6;border-top:3px solid #2a6674;padding:27px 26px 28px;min-height:244px;box-shadow:0 12px 32px rgba(16,49,62,.045)}
.history-milestone .history-year{display:block;color:#1b5365;font-size:1.62rem;line-height:1.25;font-weight:800;letter-spacing:-.04em;margin-bottom:18px}
.history-milestone h3{font-size:1.16rem;margin:0 0 10px;color:#173c4a}
.history-milestone p{font-size:.94rem;line-height:1.55;margin:0}
.history-outro{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:32px;border-top:1px solid #cfdddf;padding-top:25px}
.history-outro strong{font-size:1.12rem;color:#244655}
.history-outro a{color:#16495a;font-size:.91rem;font-weight:800;text-decoration:none}
.history-outro a:hover{text-decoration:underline}
@media(max-width:900px){.history-timeline{grid-template-columns:repeat(2,minmax(0,1fr))}.history-intro{gap:5%}}
@media(max-width:650px){.history-section{padding:65px 0 72px}.history-intro{grid-template-columns:1fr;gap:17px;margin-bottom:29px}.history-timeline{grid-template-columns:1fr;gap:12px}.history-milestone{min-height:unset;padding:22px}.history-milestone .history-year{margin-bottom:10px}.history-outro{align-items:flex-start;flex-direction:column;gap:10px}}

/* Picture sources: preserve layout and existing responsive image styles. */
picture{display:contents}

/* Zertifikatsdokumente werden nur als Links geöffnet (keine Inline-Bilder). */
.certification-section .cert-grid{align-items:stretch;margin-bottom:0}
.certification-section .cert-card{display:flex;flex-direction:column;gap:0}
.certification-section .cert-card .cert-document-link{display:inline-flex;align-items:center;align-self:flex-start;margin-top:auto;padding-top:22px;color:#155b74;text-decoration:none;font-size:.95rem;font-weight:700;line-height:1.4}
.certification-section .cert-card .cert-document-link:hover,.certification-section .cert-card .cert-document-link:focus-visible{text-decoration:underline}
.certification-section .cert-card .cert-document-link:focus-visible{outline:2px solid currentColor;outline-offset:4px}


/* Responsive Team Cards — desktop, tablet and smartphone */
.team-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 22px;
  align-items: stretch;
}
.team-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.team-card img {
  flex: none;
  display: block;
  width: 100%;
  height: 260px;
  object-fit: cover;
  object-position: center 18%;
}
.team-card-text {
  min-width: 0;
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 20px;
}
.team-card h3 {
  font-size: clamp(1rem, 1.25vw, 1.16rem);
  line-height: 1.32;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.team-card p {
  min-height: 0;
  line-height: 1.5;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
.team-card a {
  display: inline-block;
  margin-top: auto;
  overflow-wrap: anywhere;
  font-size: .82rem;
}
@media (min-width: 701px) and (max-width: 1100px) {
  .team-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
  .team-card img { height: 240px; }
}
@media (min-width: 601px) and (max-width: 800px) {
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .team-card img { height: 260px; }
}
/* At phone sizes, use generous full-width portrait cards, with text below.
   This avoids cramped side-by-side layouts and broken names/functions. */
@media (max-width: 600px) {
  .team-section .section-heading { margin-bottom: 25px; }
  .team-section .section-heading h2 { font-size: clamp(2rem, 8vw, 2.65rem); }
  .team-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    margin: 24px 0 32px;
  }
  .team-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
    border-radius: 10px;
  }
  .team-card img {
    width: 100%;
    height: clamp(195px, 55vw, 250px);
    min-height: 0;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: center 20%;
  }
  .team-card-text {
    padding: 18px 20px 20px;
    width: 100%;
  }
  .team-card h3 {
    font-size: 1.2rem;
    line-height: 1.3;
    margin-bottom: 8px;
  }
  .team-card p {
    font-size: .95rem;
    line-height: 1.5;
    margin-bottom: 14px;
  }
  .team-card a { font-size: .87rem; }
  .senior-title { margin-top: 35px; }
  .team-card img[src*="joerg_lipfert_eschrich"] {
    object-fit: cover;
    object-position: center 15%;
    transform: none;
  }
}
/* Moderate aspect ratios also on narrow landscape phones. */
@media (max-width: 600px) and (orientation: landscape) {
  .team-card img { height: 225px; }
}

/* Uniform mirrored slider arrows; avoids mismatched font glyphs. */
.hero-slider-arrow { font-size: 0; }
.hero-slider-arrow::before {
  content: ""; display:block; width: 10px; height: 10px;
  border-top: 2px solid currentColor; border-right: 2px solid currentColor;
}
.hero-slider-prev::before { transform: translateX(2px) rotate(-135deg); }
.hero-slider-next::before { transform: translateX(-2px) rotate(45deg); }

/* 2026 refinements: brand, values and camera quality image */
.brand-logo-image{background:#002fb2!important;box-sizing:border-box;object-fit:contain}
.brand-text{display:flex;flex-direction:column;min-width:0;line-height:1.15}
.brand-text small{display:block}
.brand-subline{display:block;font-size:.56rem;line-height:1.35;letter-spacing:.065em;font-weight:600;white-space:normal;max-width:220px;margin-top:4px;color:#637b85}
.footer .brand-subline{color:#c1d3db}
.site-header{height:auto;min-height:88px}
.header-inner{min-height:88px}
.values-statement{background:linear-gradient(120deg,#10313e,#164c6c);color:#fff;position:relative;overflow:hidden;padding:74px 0}
.values-statement:after{content:"";position:absolute;width:370px;height:370px;border:1px solid rgba(255,255,255,.15);border-radius:50%;right:-130px;top:-180px;pointer-events:none}
.values-inner{max-width:960px;position:relative;z-index:1}
.values-eyebrow{font-size:.74rem;letter-spacing:.18em;font-weight:700;color:#badbe8;margin-bottom:14px}
.values-statement h2{font-size:clamp(2.3rem,5vw,4.6rem);line-height:1.09;color:#fff;margin-bottom:18px}
.values-description{font-size:clamp(1rem,1.55vw,1.23rem);max-width:700px;color:#d8e6ec;margin-bottom:0}
#qualitaet .split-visual{height:510px;min-height:0;overflow:hidden;padding:0;display:block}
#qualitaet .split-visual picture{display:block;width:100%;height:100%}
#qualitaet .split-visual img{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;object-position:center center}
@media(max-width:1080px){.brand-subline{font-size:.51rem;letter-spacing:.02em;max-width:180px}.nav{gap:12px}}
@media(max-width:700px){.site-header,.header-inner{min-height:72px}.brand-subline{font-size:.48rem;max-width:175px}.values-statement{padding:58px 0}#qualitaet .split-visual{height:340px}}
@media(max-width:380px){.brand-subline{max-width:150px;font-size:.43rem}.brand-text{font-size:.72rem}}

/* Logo box exactly matches the adjacent three-line brand block.
   Text defines height; the blue frame stretches to that height. */
.brand:has(.brand-logo-frame){align-items:stretch}
.brand-logo-frame{position:relative;display:block;align-self:stretch;flex:0 0 92px;width:92px;min-height:0;background:#002fb2;border-radius:2px}
.brand-logo-frame .brand-logo-image{position:absolute;inset:0;display:block;width:100%;height:100%;max-width:none;object-fit:contain;padding:5px 7px;background:transparent!important;border-radius:0}
.footer .brand-logo-frame{flex-basis:98px;width:98px}
@media(max-width:850px){.site-header .brand-logo-frame{flex-basis:70px;width:70px}}
@media(max-width:420px){.site-header .brand-logo-frame{flex-basis:58px;width:58px}.footer .brand-logo-frame{flex-basis:85px;width:85px}}

/* Qualität & Präzision: rigid picture height, independent of text column. */
#qualitaet.split{align-items:start;min-height:0}
#qualitaet .split-visual{height:510px;min-height:510px;max-height:510px;overflow:hidden;align-self:start;position:relative}
#qualitaet .split-visual picture{display:block;width:100%;height:100%}
#qualitaet .split-visual picture img,
#qualitaet .split-visual > img{display:block;width:100%;height:100%;max-height:none;object-fit:cover;object-position:center}
@media(max-width:700px){#qualitaet .split-visual{height:340px;min-height:340px;max-height:340px}}

/* Kameraprüfungsfoto vollständig zeigen, ohne Beschnitt oder Verzerrung. */
#qualitaet .split-visual{background:#122938;padding:0}
#qualitaet .split-visual picture img,
#qualitaet .split-visual > img{object-fit:contain;object-position:center}

/* Qualität & Präzision: same centered maximum width as Produktwelt. */
#qualitaet.split{width:min(1180px,calc(100% - 44px));margin-inline:auto;max-width:1180px;min-width:0;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#qualitaet .split-copy{min-width:0;padding:clamp(30px,4vw,64px)}
@media(max-width:700px){#qualitaet.split{grid-template-columns:minmax(0,1fr)}#qualitaet .split-copy{padding:40px 28px}}
@media(max-width:480px){#qualitaet.split{width:calc(100% - 34px)}#qualitaet .split-copy{padding:36px 22px}}

/* Quality section: image and text columns share exactly one grid-row height. */
@media (min-width:701px) {
  #qualitaet.split {
    min-height:510px;
    align-items:stretch;
  }
  #qualitaet .split-visual {
    height:auto;
    min-height:0;
    max-height:none;
    align-self:stretch;
    position:relative;
    overflow:hidden;
  }
  #qualitaet .split-visual picture {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
  }
  #qualitaet .split-visual picture img,
  #qualitaet .split-visual > img {
    width:100%;height:100%;object-fit:contain;object-position:center;
  }
}
@media (max-width:700px) {
  #qualitaet.split {min-height:0;align-items:stretch;}
  #qualitaet .split-visual {
    height:340px;min-height:340px;max-height:340px;
    align-self:auto;overflow:hidden;
  }
  #qualitaet .split-visual picture {position:static;width:100%;height:100%;}
  #qualitaet .split-visual picture img {width:100%;height:100%;object-fit:contain;}
}

/* Expanded product range */
.assortment-detail{margin-top:76px;border-top:1px solid #cbdcdb;padding-top:55px}
.assortment-heading{font-size:clamp(1.6rem,3.1vw,2.6rem);line-height:1.2;letter-spacing:-.035em;margin:12px 0 15px}
.assortment-lead{max-width:none;width:100%;font-size:1.06rem;margin-bottom:30px}
.assortment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.assortment-card{min-width:0;padding:27px 30px;background:white;border:1px solid #dde8e8;border-top:3px solid #a8cfd1}
.assortment-number{font-weight:800;color:#3f8290;font-size:.82rem;letter-spacing:.13em}
.assortment-card h4{font-size:1.3rem;line-height:1.25;margin:10px 0 12px;letter-spacing:-.02em}
.assortment-card p{font-size:.94rem;line-height:1.6}
.assortment-card ul{margin:16px 0 0;padding-left:20px;color:#355967;font-size:.91rem;line-height:1.7}
.assortment-card li{padding-left:3px}
.assortment-materials{margin-top:30px;background:#e7efef;padding:34px 36px}
.assortment-materials h3,.assortment-foot h3{font-size:1.55rem;line-height:1.25;margin:0 0 10px}
.assortment-materials>p{max-width:none;width:100%}
.assortment-material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:26px}
.assortment-material{padding-top:14px;border-top:2px solid #b9ced1;min-width:0}
.assortment-material strong{font-size:1rem;display:block;margin-bottom:8px;line-height:1.35}
.assortment-material p{font-size:.87rem;margin:0}
.assortment-hydro{font-size:.91rem;margin:26px 0 0!important;color:#415f67}
.assortment-foot{padding:30px 0 0}
.assortment-chips{display:flex;flex-wrap:wrap;gap:9px;margin:18px 0 25px}
.assortment-chips span{padding:8px 13px;border:1px solid #bfd0d3;background:#fff;color:#2d5260;font-size:.86rem}
@media(max-width:900px){.assortment-material-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.assortment-detail{margin-top:55px}}
@media(max-width:650px){.assortment-grid{grid-template-columns:1fr}.assortment-card{padding:24px 23px}.assortment-materials{padding:26px 22px}.assortment-material-grid{gap:20px 16px}.assortment-material strong{font-size:.94rem}.assortment-detail{padding-top:40px;margin-top:45px}}
@media(max-width:370px){.assortment-material-grid{grid-template-columns:1fr}}

/* Full-width descriptive paragraphs within the product assortment. */
.assortment-detail .assortment-lead,.assortment-materials>p,.assortment-materials .assortment-hydro{max-width:none;width:100%;}

.intro-grid picture{display:block}.intro-grid picture, .intro-grid p:has(.company-photo){margin:0}.intro-grid .company-photo{background:#f5f8f7}

#unternehmen .company-photo{margin:0 auto}

/* Unternehmen: Text und CTA links, komplettes Gebäudefoto rechts. */
#unternehmen .intro-grid{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(28px,5vw,72px);align-items:start}
#unternehmen .intro-grid>div{min-width:0}
#unternehmen .intro-grid>div:nth-child(2)>p{margin:0}
#unternehmen .company-photo{width:100%;max-width:100%;height:auto;object-fit:contain;display:block}
@media(max-width:700px){#unternehmen .intro-grid{grid-template-columns:minmax(0,1fr);gap:30px}}

/* Expandable assortment information */
.assortment-card{display:flex;flex-direction:column;min-width:0}
.assortment-accordion{margin-top:auto;padding-top:18px;border-top:1px solid #d8e4e6}
.assortment-accordion summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;gap:12px;align-items:center;font-weight:700;color:#205267;line-height:1.4;padding:8px 0}
.assortment-accordion summary::-webkit-details-marker{display:none}
.assortment-accordion summary::after{content:'+';font-size:1.4rem;line-height:1;font-weight:400;flex-shrink:0}
.assortment-accordion[open] summary::after{content:'−'}
.assortment-accordion summary:focus-visible{outline:2px solid #002fb2;outline-offset:3px}
.assortment-accordion-content{padding:14px 0 3px;border-top:1px solid #e4eded}
.assortment-accordion-content h5{font-size:1rem;line-height:1.35;margin:0 0 7px;color:#193c4b}
.assortment-accordion-content p{font-size:.91rem;line-height:1.65;margin:0 0 18px;overflow-wrap:break-word}
.assortment-accordion-content p:last-child{margin-bottom:4px}
@media(max-width:700px){.assortment-accordion{margin-top:16px}.assortment-accordion-content p{font-size:.94rem}}
