/*
Theme Name: DEMACON3D
Theme URI: https://www.demacon3d.com/
Author: DEMACON3D GmbH
Author URI: https://www.demacon3d.com/
Description: Website-Theme der DEMACON 3D GmbH, zweisprachig (Deutsch/Englisch): Startseite mit Projektfilm, Leistungen & Produkte mit Produktkatalogen, Über uns, Referenzen mit Karte und Filtern, Fallstudien mit Titelfilm und Presseberichten, News mit Produktanfrage, Kundenservice, Ersatzteilanfrage mit Teilekatalog und Bedarfsanalyse in neun Schritten. Mit Suchmaschinen- und KI-Optimierung (strukturierte Daten, Sitemap, llms.txt) und eingebauter Datensicherung. Keine externen Dienste, keine Cookies für Besucher.
Version: 1.2.1
Requires at least: 6.4
Tested up to: 6.7
Requires PHP: 7.4
License: Proprietär – nur für demacon3d.com
Text Domain: demacon3d
*/

/* ==========================================================================
   Schriften (selbst gehostet)
   ========================================================================== */
@font-face{font-family:'Inter Tight';src:url('assets/fonts/inter-tight-latin.woff2') format('woff2');font-weight:400 700;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:'Jost';src:url('assets/fonts/jost-latin.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+20AC,U+2122,U+2212}
@font-face{font-family:'Jost';src:url('assets/fonts/jost-latin-ext.woff2') format('woff2');font-weight:100 900;font-style:normal;font-display:swap;unicode-range:U+0100-02AF,U+1E00-1EFF,U+20A0-20AB,U+20AD-20C0,U+2C60-2C7F,U+A720-A7FF}

/* ==========================================================================
   Grundlagen
   ========================================================================== */
:root{
	--deep:#151C2E;--navy:#253252;--slate:#464B59;--band:#31426D;--panel:#1D2539;
	--linie:#26304A;--linie2:#31426D;--gold:#CBA86F;--gold-d:#A98044;--gold-dd:#836335;
	--text:#EDEFF3;--weiss:#FFFFFF;--neben:#C3C8D3;--neben2:#9CA4B5;--grau:#888FA0;
	--ok:#6FCF97;--fehler:#E8A37A;--lg:#5BA0E6;
	--kopf:'Inter Tight',Helvetica,Arial,sans-serif;
	--text-font:'Jost',Futura,'Century Gothic',sans-serif;
	--rand:32px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--deep);color:var(--text);font-family:var(--text-font);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
img,svg,video{max-width:100%}
img{height:auto}
a{color:var(--gold)}
a:hover{color:var(--text)}
:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
h1,h2,h3,h4{font-family:var(--kopf);font-weight:700;color:var(--weiss);margin:0;line-height:1.1}
p{margin:0}
figure{margin:0}
address{font-style:normal}
button{font-family:inherit}
input,select,textarea{font:inherit;font-size:16px;background:var(--deep);color:var(--weiss);color-scheme:dark;border:1px solid var(--grau);border-radius:2px;padding:12px;min-height:48px;width:100%}
textarea{resize:vertical;min-height:96px}
input[type=checkbox],input[type=radio]{width:20px;height:20px;min-height:0;padding:0;accent-color:var(--gold);flex:0 0 auto}
input[type=range]{padding:0;border:0;background:transparent;accent-color:var(--gold);min-height:44px}
input[type=file]{border-style:dashed;font-size:15px}
input:focus,select:focus,textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 1px var(--gold)}
::placeholder{color:var(--neben2);opacity:1}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.sprung{position:absolute;left:12px;top:-60px;z-index:100;background:var(--gold);color:var(--deep);padding:10px 16px;border-radius:2px;font-weight:600;text-decoration:none}
.sprung:focus{top:12px}
.nw{white-space:nowrap}
html:not(.js) .js-only{display:none!important}
[hidden]{display:none!important}
.d3d-falle{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

.wrap{max-width:1240px;margin:0 auto;padding-left:var(--rand);padding-right:var(--rand)}
@media (max-width:600px){:root{--rand:20px}}

/* Abschnitte */
.sec{color:var(--text)}
.sec--deep{background:var(--deep)}
.sec--slate{background:var(--slate)}
.sec--navy{background:var(--navy)}
.sec--band{background:var(--band)}
.sec--linie{border-top:1px solid var(--linie)}
.abschnitt{padding-top:96px;padding-bottom:96px}
.abschnitt--88{padding-top:88px;padding-bottom:88px}
.abschnitt--80{padding-top:80px;padding-bottom:80px}
.abschnitt--72{padding-top:72px;padding-bottom:72px}
.abschnitt--64{padding-top:64px;padding-bottom:64px}
.abschnitt--56{padding-top:56px;padding-bottom:88px}
.abschnitt--liste{padding-top:40px;padding-bottom:88px}
.abschnitt--weitere{padding-top:72px;padding-bottom:88px}
@media (max-width:767px){.abschnitt,.abschnitt--88,.abschnitt--80,.abschnitt--72{padding-top:64px;padding-bottom:64px}.abschnitt--64,.abschnitt--56{padding-top:48px;padding-bottom:56px}}
.abschnitt-kopf{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:40px}
.abschnitt-kopf>div{max-width:720px}

/* Raster */
.raster-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px}
.raster--480{grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr))}
.raster--48{gap:48px}
.raster--mitte{align-items:center}
.raster--oben{align-items:start}

/* Typografie */
.h-xl{font-size:clamp(32px,5vw,44px);line-height:1.08;margin-bottom:16px}
.h-l{font-size:clamp(28px,4vw,36px);line-height:1.1}
.h-m{font-size:32px}
.h-s{font-size:24px}
.h-xs{font-size:20px}
@media (max-width:600px){.h-m{font-size:28px}}
.einleitung{font-size:18px;color:var(--neben)}
.sec--deep .h-xl+.einleitung{margin-bottom:28px}
.schmal{max-width:720px}
.text-gross{font-size:18px;color:var(--neben)}
.text-16{font-size:16px;color:var(--neben)}
.abstand-8{margin-bottom:8px}.abstand-10{margin-bottom:10px}.abstand-12{margin-bottom:12px}.abstand-14{margin-bottom:14px}.abstand-16{margin-bottom:16px}.abstand-20{margin-bottom:20px}.abstand-24{margin-bottom:24px}.abstand-28{margin-bottom:28px}.abstand-32{margin-bottom:32px}.abstand-36{margin-bottom:36px}.abstand-40{margin-bottom:40px}
.abstand-oben-16{margin-top:16px}.abstand-oben-20{margin-top:20px}.abstand-oben-32{margin-top:32px}

/* Knöpfe und Links */
.knopf{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--gold);color:var(--deep);border:1px solid var(--gold);border-radius:2px;padding:15px 25px;min-height:48px;font-family:var(--text-font);font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;line-height:1.2;transition:background-color .2s,color .2s,border-color .2s}
.knopf:hover{background:#D9BC88;border-color:#D9BC88;color:var(--deep)}
.knopf--rand{background:transparent;color:var(--text);border-color:var(--neben2);font-weight:500}
.knopf--rand:hover{background:transparent;border-color:var(--gold);color:var(--weiss)}
.knopf--gold-rand{background:transparent;color:var(--gold);border-color:var(--gold)}
.knopf--gold-rand:hover{background:var(--gold);color:var(--deep)}
.knopf--klein{font-size:14px;padding:12px 18px;min-height:44px}
.knopf[disabled]{opacity:.6;cursor:wait}
.knoepfe{display:flex;flex-wrap:wrap;gap:12px}
.knoepfe--mitte{align-items:center;gap:12px 20px;margin-top:28px}
.unterstrichen{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--weiss);border-bottom:2px solid var(--gold);padding-bottom:4px}
.unterstrichen:hover{color:var(--gold)}
.unterstrichen-klein{font-size:16px;font-variant-numeric:tabular-nums;text-decoration:none;color:var(--weiss);border-bottom:1px solid var(--gold);padding-bottom:2px}
.link-gold{font-size:15px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;color:var(--gold);border-bottom:2px solid var(--gold-d);padding-bottom:4px}
.link-fett{font-size:15px;font-weight:600}
.knopf-gestrichelt{display:inline-flex;align-items:center;gap:8px;margin-top:12px;background:transparent;border:1px dashed var(--gold);color:var(--gold);font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:12px 18px;min-height:48px;border-radius:2px;cursor:pointer}

/* ==========================================================================
   Kopf
   ========================================================================== */
.kopf{background:var(--deep);border-bottom:1px solid var(--linie);position:relative;z-index:20}
.kopf-in{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;padding-top:14px;padding-bottom:14px}
.logo{display:block;flex:0 0 auto}
.logo img{display:block;width:160px;height:auto}
.nav{margin-left:auto}
.nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px}
.nav-link{color:var(--text);text-decoration:none;font-size:14px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;padding:6px 0;display:inline-block}
.nav-link:hover{color:var(--gold)}
.nav-link.aktiv{color:var(--gold);font-weight:600;border-bottom:2px solid var(--gold-d);padding-bottom:2px}
.nav-link.menu-gold{color:var(--gold)}
.nav-link.menu-cta{background:var(--gold);color:var(--deep);font-weight:600;padding:13px 20px;border-radius:2px;border:0}
.nav-link.menu-cta:hover{background:#D9BC88;color:var(--deep)}
/* Sprachwahl mit Fahnen */
.sprachen{display:flex;align-items:center;gap:4px}
.sprache{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border-radius:2px;text-decoration:none;font-size:13px;font-weight:600;letter-spacing:.08em;color:#9CA4B5;border:1px solid transparent;line-height:1}
.sprache:hover{color:#fff}
.sprache.aktiv{color:#fff;border-color:var(--gold)}
.fahne{display:block;flex:0 0 auto;border-radius:1px;box-shadow:0 0 0 1px rgba(255,255,255,.18)}
.nav-knopf{display:none;margin-left:auto;align-items:center;gap:8px;background:transparent;border:1px solid var(--grau);color:var(--text);border-radius:2px;min-height:44px;padding:0 14px;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
@media (max-width:899px){
	.js .nav-knopf{display:inline-flex}
	.js .nav{display:none;flex:1 0 100%;margin:0}
	.js .nav.offen{display:block}
	.js .nav ul{flex-direction:column;align-items:stretch;gap:0;padding:8px 0 4px}
	.js .nav li{border-top:1px solid var(--linie)}
	.js .nav-link{display:block;padding:14px 0}
	.js .nav-link.aktiv{border-bottom:0}
	.js .nav-link.menu-cta{margin:12px 0 4px;text-align:center}
	.js .nav li:last-child{border-top:0}
	.js .nav li:has(.menu-cta){border-top:0}
	.js .nav li.nav-sprachen{padding:10px 0 6px}
	.js .nav .sprache{padding:10px 12px}
}

/* ==========================================================================
   Fuß
   ========================================================================== */
.fuss{background:var(--deep);color:var(--neben);padding:64px 0 32px}
.fuss-raster{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:32px;align-items:start}
.fuss-logo{display:block;width:180px;height:auto;margin-bottom:16px}
.fuss-slogan{font-family:var(--kopf);font-weight:600;font-size:16px;color:var(--weiss)}
.fuss-adresse,.fuss-kontakt{font-size:15px;line-height:1.7;font-variant-numeric:tabular-nums}
.fuss-kontakt a{color:var(--neben);text-decoration:none}
.fuss-kontakt a:hover{color:var(--gold)}
.fuss-recht{font-size:14px;line-height:1.7;color:var(--neben2)}
.fuss-linie{display:flex;height:2px;margin:40px 0 16px}
.fuss-linie span:first-child{flex:64 1 0;background:var(--band)}
.fuss-linie span:last-child{flex:36 1 0;background:var(--gold-d)}
.fuss-unten{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:13px;color:var(--neben2)}
.fuss-unten a{color:var(--neben2)}
.fuss-unten a:hover{color:var(--gold)}

/* ==========================================================================
   Duoton-Bilder (Navy/Gold, Farbe bei Maus darüber, Fokus oder in Bildmitte auf Touch)
   ========================================================================== */
.duo{position:relative;overflow:hidden;isolation:isolate;background:var(--navy)}
.duo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;filter:grayscale(1) contrast(1.05);transition:filter .45s ease}
.duo::before,.duo::after{content:"";position:absolute;inset:0;pointer-events:none;transition:opacity .45s ease;z-index:1}
.duo::before{background:#EFE3CC;mix-blend-mode:multiply}
.duo::after{background:var(--deep);mix-blend-mode:lighten}
@media (hover:hover){.duo-ausloeser:hover .duo>img{filter:grayscale(0) contrast(1)}.duo-ausloeser:hover .duo::before,.duo-ausloeser:hover .duo::after{opacity:0}}
.duo-ausloeser:focus-visible .duo>img,.duo-ausloeser[data-farbe="1"] .duo>img,.duo-ausloeser:focus-within .duo>img{filter:grayscale(0) contrast(1)}
.duo-ausloeser:focus-visible .duo::before,.duo-ausloeser:focus-visible .duo::after,.duo-ausloeser[data-farbe="1"] .duo::before,.duo-ausloeser[data-farbe="1"] .duo::after,.duo-ausloeser:focus-within .duo::before,.duo-ausloeser:focus-within .duo::after{opacity:0}
@media (prefers-reduced-motion:reduce){.duo>img,.duo::before,.duo::after{transition:none}}

/* ==========================================================================
   Referenzkarten
   ========================================================================== */
.karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:32px 24px}
.karten--start{grid-auto-flow:row dense}
.karten--klein{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.karte{display:block;text-decoration:none;color:var(--weiss)}
a.karte:hover{color:var(--weiss)}
.karte-bild{aspect-ratio:4/3;border-radius:3px}
.karte--breit .karte-bild{aspect-ratio:4/3}
@media (min-width:768px){.karte--breit{grid-column:span 2}.karte--breit .karte-bild{aspect-ratio:11/4}}
.karte--liste .karte-bild{aspect-ratio:16/10}
.karte-ohne{position:absolute;left:16px;bottom:16px;z-index:2;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.karte-text{padding-top:16px}
.karte--klein .karte-text{padding-top:14px}
.karte-name{font-family:var(--kopf);font-weight:700;font-size:21px;color:var(--weiss);line-height:1.3}
.karte--klein .karte-name{font-size:20px}
.karte-ort{font-size:15px;color:var(--neben);font-variant-numeric:tabular-nums}
.stempel{position:absolute;top:18px;right:18px;z-index:2;transform:rotate(-8deg);font-family:var(--kopf);font-weight:700;font-size:17px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);background:rgba(21,28,46,.78);border:3px solid var(--gold);box-shadow:inset 0 0 0 2px rgba(21,28,46,.78),inset 0 0 0 3px var(--gold);padding:7px 14px 6px;border-radius:4px;pointer-events:none}
.abzeichen{position:absolute;right:18px;bottom:18px;z-index:2;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--deep);background:var(--gold);padding:4px 8px;border-radius:2px}
.karte--liste .abzeichen{right:16px;bottom:16px}
.karte--liste[hidden]{display:none}

/* ==========================================================================
   Startseite
   ========================================================================== */
.start-hero-in{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:56px;align-items:center;padding-top:88px;padding-bottom:104px}
@media (max-width:767px){.start-hero-in{padding-top:56px;padding-bottom:64px;gap:40px}}
.start-titel{font-size:clamp(34px,9vw,64px);line-height:1.04;margin-bottom:24px}
.start-text{font-size:20px;line-height:1.55;color:var(--neben);max-width:34em;margin-bottom:36px}
.start-film{display:flex;flex-direction:column;gap:12px}
.start-film figcaption{font-size:14px;color:var(--neben2)}

/* Film */
.film{position:relative;overflow:hidden;background:#0E1322}
.film-video{display:block;width:100%;height:100%;object-fit:cover}
.film--start{aspect-ratio:16/9;border:1px solid var(--linie2);border-radius:3px}
.film--titel{position:absolute;inset:0}
.film-leiste{position:absolute;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 16px}
.film--start .film-leiste{left:0;right:0;bottom:0;padding:12px 14px;background:rgba(14,19,34,.82)}
.film--titel .film-leiste{right:16px;bottom:16px;gap:8px}
.film-links{display:flex;align-items:center;gap:12px}
.film-knopf{width:44px;height:44px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid #5A6584;border-radius:2px;cursor:pointer;padding:0}
.film--titel .film-knopf{background:rgba(14,19,34,.72)}
.film-knopf:hover{border-color:var(--gold)}
.film-pause .ico-pause,.film.laeuft .film-pause .ico-play{display:none}
.film.laeuft .film-pause .ico-pause{display:block}
.film-kennung{font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.film-ton{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;background:var(--gold);color:var(--deep);border:1px solid var(--gold);border-radius:2px;cursor:pointer;font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.film-ton .ico-ton-an{display:none}
.film-ton[aria-pressed=true]{background:transparent;color:var(--text);border-color:#5A6584}
.film--titel .film-ton[aria-pressed=true]{background:rgba(14,19,34,.72)}
.film-ton[aria-pressed=true] .ico-ton-an{display:block}
.film-ton[aria-pressed=true] .ico-ton-aus{display:none}
html:not(.js) .film-leiste{display:none}
@media (max-width:520px){.film--start .film-kennung{display:none}.film--start .film-leiste{padding:8px 10px}.film-ton{padding:0 12px}}

/* Vergleichspaar */
.paar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.paar-bild{position:relative;aspect-ratio:3/4;background:var(--panel);border:1px solid var(--linie2);border-radius:3px;overflow:hidden;display:flex;align-items:flex-end;padding:16px}
.paar-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.paar-bild span{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.paar figcaption{margin-top:10px;font-size:14px;color:var(--neben2)}

/* Leistungen: Drehkarten */
.leistungen{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:24px}
.dreh{perspective:1600px}
.dreh-in{display:grid}
.dreh-vorne,.dreh-hinten{grid-area:1/1;min-height:360px;border-radius:3px;background:var(--deep);border:1px solid var(--linie2)}
.dreh-vorne{position:relative;overflow:hidden}
.dreh-bild{position:absolute;inset:0}
.dreh-verlauf{position:absolute;inset:0;z-index:2;background:linear-gradient(to top,rgba(21,28,46,.94) 0%,rgba(21,28,46,.72) 34%,rgba(21,28,46,0) 68%)}
.dreh-fuss{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:24px 28px;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:16px}
.dreh-nr{font-size:14px;font-weight:600;letter-spacing:.12em;color:var(--gold);font-variant-numeric:tabular-nums}
.dreh-titel{font-size:28px;margin-top:6px}
.dreh-hinten{padding:28px;display:flex;flex-direction:column}
.dreh-titel2{font-family:var(--kopf);font-weight:700;font-size:24px;line-height:1.15;color:var(--weiss);margin:6px 0 4px}
.dreh-dauer{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--neben);margin-bottom:16px}
.dreh-hinten ul{margin:0 0 20px;padding-left:18px;font-size:16px;line-height:1.45}
.dreh-hinten li{margin-bottom:6px}
.dreh-zurueck{align-self:flex-start;background:transparent;border:1px solid var(--grau);color:var(--text);border-radius:2px;padding:10px 14px;font-size:14px;font-weight:500;cursor:pointer}
html:not(.js) .dreh-in{gap:16px}
html:not(.js) .dreh-vorne,html:not(.js) .dreh-hinten{grid-area:auto}
html:not(.js) .dreh-knopf,html:not(.js) .dreh-zurueck{display:none}
.js .dreh{cursor:pointer}
.js .dreh-in{transform-style:preserve-3d;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.js .dreh-vorne,.js .dreh-hinten{-webkit-backface-visibility:hidden;backface-visibility:hidden}
.js .dreh-hinten{transform:rotateY(180deg);visibility:hidden;transition:visibility 0s linear .35s}
.js .dreh-zurueck{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);padding:0;border:0}
.js .dreh-zurueck:focus-visible{position:static;width:auto;height:auto;clip:auto;padding:10px 14px;border:1px solid var(--grau)}
.js .dreh.gedreht .dreh-in{transform:rotateY(180deg)}
.js .dreh.gedreht .dreh-hinten{visibility:visible}
.js .dreh.gedreht .dreh-vorne{visibility:hidden;transition:visibility 0s linear .35s}
@media (prefers-reduced-motion:reduce){.js .dreh-in,.js .dreh-hinten,.js .dreh.gedreht .dreh-vorne{transition:none}}

/* Kacheln (Zielgruppen, Kundenservice) */
.kacheln{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.kacheln--service{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));padding-top:48px}
.kachel{display:block;background:var(--deep);border:1px solid var(--linie2);border-radius:3px;padding:28px;text-decoration:none;color:var(--weiss);transition:border-color .2s}
.kacheln--service .kachel{padding:24px}
.kachel:hover{border-color:var(--gold);color:var(--weiss)}
.kachel--aktiv{border:2px solid var(--gold-d);background:var(--navy);padding:23px}
.kachel-titel{display:block;font-family:var(--kopf);font-weight:700;font-size:20px;margin-bottom:8px}
.kacheln--service .kachel-titel{margin-bottom:6px}
.kachel-text{display:block;font-size:16px;color:var(--neben)}
.kacheln--service .kachel-text{font-size:15px}

/* Vorschau Schritt 1 */
.vorschau{background:var(--deep);border:1px solid var(--linie2);border-radius:3px;padding:28px}
.vorschau-schritt{font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--neben);margin-bottom:6px}
.vorschau-frage{font-family:var(--kopf);font-weight:700;font-size:22px;margin-bottom:18px;color:var(--weiss)}
.vorschau-optionen{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:10px}
.vorschau-optionen a{display:block;border:1px solid var(--grau);border-radius:3px;padding:14px 16px;text-decoration:none;color:var(--weiss);font-size:16px}
.vorschau-optionen a:hover{border-color:var(--gold)}
.vorschau-optionen a.gewaehlt{border:2px solid var(--gold-d);padding:13px 15px;background:var(--navy)}

/* Zitate */
.zitat-gross blockquote{margin:0 0 20px}
.zitat-gross blockquote p{font-family:var(--kopf);font-weight:600;font-size:clamp(24px,3vw,30px);line-height:1.25;color:var(--weiss)}
.zitat-gross figcaption,.zitat-kasten figcaption{font-size:16px;color:var(--neben)}
.zitat-kasten{padding:32px;background:var(--navy);border-radius:3px}
.zitat-kasten blockquote{margin:0 0 16px}
.zitat-kasten blockquote p{font-family:var(--kopf);font-weight:600;font-size:26px;line-height:1.3;color:var(--weiss)}
@media (max-width:600px){.zitat-kasten{padding:24px}.zitat-kasten blockquote p{font-size:22px}}

/* Listen mit Linien */
.liste-linien{list-style:none;margin:0;padding:0;border-top:1px solid var(--linie2)}
.liste-linien li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:16px 0;border-bottom:1px solid var(--linie2);font-variant-numeric:tabular-nums}
.liste-linien--klein li{padding:12px 0;gap:4px 16px}
.liste-stark{font-weight:600;color:var(--weiss)}
a.liste-stark{text-decoration:none}
a.liste-stark:hover{color:var(--gold)}
.liste-neben{color:var(--neben)}

/* Team */
.team{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px}
.person{background:var(--deep);border:1px solid var(--linie2);border-radius:3px;padding:24px;display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.person-foto{width:120px;height:120px;flex:0 0 auto;background:var(--band);border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.person-foto img{width:100%;height:100%;object-fit:cover}
.person-foto span{font-family:var(--kopf);font-weight:700;font-size:34px;letter-spacing:.04em;color:var(--gold)}
.person-text{flex:1 1 220px}
.person-name{font-size:22px}
.person-funktion{font-size:15px;color:var(--neben);margin-bottom:10px}
.person-text a{text-decoration:none;font-size:16px}
.person-tel{font-variant-numeric:tabular-nums}

/* Abschlussband */
.band-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:44px;padding-bottom:44px}
.band-titel{font-family:var(--kopf);font-weight:700;font-size:24px;color:var(--weiss);line-height:1.25}
.band-text{font-size:16px;color:var(--neben)}

/* ==========================================================================
   Unterseiten-Kopf
   ========================================================================== */
.seiten-kopf{padding-top:56px;padding-bottom:64px}
.seiten-kopf--knapp{padding-bottom:28px}
.seiten-kopf--zeile{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:32px}
.seiten-titel{font-size:clamp(36px,7vw,56px);line-height:1.02;margin-bottom:16px}
.seiten-titel--gross{font-size:clamp(36px,7vw,60px)}
.seiten-text{font-size:20px;color:var(--neben);max-width:760px}
@media (max-width:600px){.seiten-text{font-size:18px}}

/* ==========================================================================
   Fallstudie
   ========================================================================== */
.fs-kopf{padding-top:48px}
.fs-titel{font-size:clamp(36px,7vw,60px);line-height:1;margin-bottom:18px}
.fs-unter{font-size:20px;color:var(--neben);max-width:760px;margin-bottom:40px}
.fs-titelbild{position:relative;overflow:hidden;aspect-ratio:21/9;background:var(--navy);border-radius:3px 3px 0 0}
.fs-titelbild>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:600px){.fs-titelbild{aspect-ratio:16/10}}
.fs-band{border-bottom:1px solid var(--linie2)}
.fs-fakten{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:24px 40px;padding-top:32px;padding-bottom:32px}
.fs-logo{display:inline-block;transition:transform .2s}
.fs-logo img{display:block;width:auto;max-width:240px}
a.fs-logo:hover{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){.fs-logo{transition:none}}
.fs-liste{display:contents;margin:0}
.fs-liste div{min-width:0}
.fs-liste dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--neben2)}
.fs-liste dd{margin:0;font-size:17px;font-weight:500;font-variant-numeric:tabular-nums}
.phasen{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:16px}
.phasen li{background:var(--deep);border:1px solid var(--linie2);border-radius:3px;padding:24px}
.phase-titel{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-family:var(--kopf);font-weight:700;font-size:19px;color:var(--weiss)}
.phase-titel svg{flex:0 0 auto}
.phase-text{display:block;font-size:15px;color:var(--neben)}

/* Vergleich geplant/gebaut */
.vergleich{position:relative;aspect-ratio:16/9;border-radius:3px;overflow:hidden;background:var(--linie);cursor:ew-resize;touch-action:pan-y;-webkit-user-select:none;user-select:none}
.vergleich img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;pointer-events:none}
.vergleich-geplant{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.vergleich-linie{position:absolute;top:0;bottom:0;left:var(--pos);width:2px;margin-left:-1px;background:var(--gold);pointer-events:none}
.vergleich-griff{position:absolute;top:50%;left:var(--pos);width:44px;height:44px;margin:-22px 0 0 -22px;border-radius:50%;background:var(--deep);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;pointer-events:none}
.vergleich-marke{position:absolute;bottom:16px;font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--weiss);background:rgba(21,28,46,.82);padding:7px 12px;border-radius:2px;pointer-events:none}
.vergleich-marke.links{left:16px}
.vergleich-marke.rechts{right:16px}
.vergleich-regler{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-top:20px}
.vergleich-regler label{font-size:15px;color:var(--neben)}
.vergleich-regler input{flex:1 1 320px;width:auto}

/* Ergebnis */
.ergebnis{margin:0;border-top:1px solid var(--linie2)}
.ergebnis div{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 16px;padding:16px 0;border-bottom:1px solid var(--linie2)}
.ergebnis dt{color:var(--neben)}
.ergebnis dd{margin:0;font-family:var(--kopf);font-weight:700;font-size:22px;font-variant-numeric:tabular-nums;color:var(--weiss)}
.ergebnis .ergebnis-zusatz{flex:1 0 100%;font-family:var(--text-font);font-weight:400;font-size:16px;color:var(--text)}

/* Galerie */
.galerie{display:grid;grid-template-columns:1fr;gap:12px;grid-auto-flow:row dense;margin:0 0 24px}
@media (min-width:600px){.galerie{grid-template-columns:repeat(2,1fr)}.galerie .kachel-bild--gross{grid-column:span 2;grid-row:span 2}.galerie--3{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.galerie{grid-template-columns:repeat(4,1fr)}.galerie .kachel-bild--rechts{grid-column:3 / span 2}.galerie--1{grid-template-columns:1fr}.galerie--2{grid-template-columns:repeat(2,1fr)}.galerie--3{grid-template-columns:repeat(3,1fr)}}
.kachel-bild{position:relative;overflow:hidden;border-radius:3px;background:var(--deep);aspect-ratio:4/3;margin:0}
.kachel-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.grossansicht-oeffnen{position:absolute;inset:0;padding:0;margin:0;border:0;background:none;cursor:zoom-in;display:block;width:100%;height:100%}
.grossansicht-oeffnen img{transition:transform .5s ease}
@media (hover:hover){.grossansicht-oeffnen:hover img{transform:scale(1.03)}}
.grossansicht-oeffnen:focus-visible{outline:3px solid var(--gold);outline-offset:-3px}
@media (prefers-reduced-motion:reduce){.grossansicht-oeffnen img{transition:none}}
.filme{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:12px}
.film-link{display:flex;align-items:center;gap:16px;background:var(--deep);border:1px solid var(--linie2);border-radius:3px;padding:18px 20px;text-decoration:none;color:var(--weiss)}
.film-link-titel{display:block;font-weight:600}
.film-link-text{display:block;font-size:15px;color:var(--neben)}

/* Großansicht (Lightbox) */
.grossansicht{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;padding:0;border:0;background:rgba(10,14,26,.95);color:var(--text);overflow:hidden}
.grossansicht::backdrop{background:rgba(10,14,26,.95)}
.grossansicht-buehne{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;touch-action:pan-y}
.ga-bild{display:block;max-width:calc(100% - 192px);max-height:calc(100% - 136px);width:auto;height:auto;object-fit:contain;border-radius:3px;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}
.ga-knopf{position:absolute;width:52px;height:52px;display:flex;align-items:center;justify-content:center;padding:0;border:1px solid #5A6584;border-radius:2px;background:rgba(21,28,46,.8);cursor:pointer}
.ga-knopf:hover{border-color:var(--gold)}
.ga-knopf:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.ga-zurueck{left:24px;top:50%;margin-top:-26px}
.ga-vor{right:24px;top:50%;margin-top:-26px}
.ga-zu{right:24px;top:20px}
.ga-zaehler{position:absolute;left:50%;bottom:28px;transform:translateX(-50%);font-size:14px;font-weight:600;letter-spacing:.14em;color:var(--neben);font-variant-numeric:tabular-nums;white-space:nowrap}
@media (max-width:700px){.ga-bild{max-width:calc(100% - 24px);max-height:calc(100% - 160px)}.ga-zurueck,.ga-vor{top:auto;bottom:16px;margin-top:0}.ga-zurueck{left:12px}.ga-vor{right:12px}.ga-zu{right:12px;top:12px}}
html.ga-offen{overflow:hidden}

/* ==========================================================================
   Referenzen-Übersicht: Filter und Karte
   ========================================================================== */
.filter{display:flex;flex-wrap:wrap;gap:20px 40px;align-items:center;padding-bottom:24px;border-bottom:1px solid var(--linie2);margin-bottom:32px}
.filter-gruppe{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.filter-name{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--neben2);margin-right:6px}
.pille{font-size:15px;font-weight:500;padding:10px 16px;min-height:44px;border-radius:2px;cursor:pointer;background:var(--deep);color:var(--text);border:1px solid var(--grau)}
.pille:hover{border-color:var(--gold)}
.pille.aktiv{background:var(--gold);color:var(--deep);border-color:var(--gold)}
.filter-anzahl{margin-left:auto;font-size:15px;color:var(--neben);font-variant-numeric:tabular-nums}
.filter-leer{padding:48px 0;font-size:18px;color:var(--neben)}
.karte-raster{display:flex;flex-wrap:wrap;gap:40px 48px;align-items:flex-start}
.karte-flaeche{flex:3 1 480px;min-width:0}
.karte-box{position:relative;aspect-ratio:1000/1235;background:var(--deep);border-radius:3px;overflow:hidden}
.karte-box>img{position:absolute;inset:0;width:100%;height:100%;display:block}
.karte-land{position:absolute;transform:translate(-50%,-50%);font-size:12px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--neben);white-space:nowrap;pointer-events:none}
.karte-punkt{position:absolute;width:max(24px,4.6%);aspect-ratio:1/1;transform:translate(-50%,-50%);margin:0;padding:0;border:0;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.karte-punkt span{width:max(10px,2.2%);min-width:10px;aspect-ratio:1/1;border-radius:50%;background:var(--gold);box-shadow:0 0 0 2px var(--deep);display:flex;align-items:center;justify-content:center;font-family:var(--kopf);font-weight:700;font-size:12px;line-height:1;color:var(--deep)}
.karte-punkt span{width:100%;max-width:max(10px,48%)}
.karte-punkt.mehr{width:max(30px,5%);z-index:1}
.karte-punkt.mehr span{max-width:none;width:max(22px,80%)}
.karte-punkt[aria-pressed=true]{z-index:3}
.karte-punkt[aria-pressed=true] span{box-shadow:0 0 0 2px var(--weiss)}
.karte-punkt:focus-visible{outline:2px solid var(--weiss);outline-offset:0;border-radius:50%}
.karte-info{flex:2 1 300px;min-width:0}
.karte-info .liste-linien li{padding:14px 0}
.karte-auswahl{margin-top:32px}
.karte-hinweis{font-size:17px;color:var(--neben)}
html:not(.js) .karte-hinweis{display:none}
html:not(.js) .ortwahl{display:block!important;margin-bottom:24px}
html:not(.js) .karte-aufheben{display:none}
.ortwahl-kopf{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:8px}
.ortwahl-titel{font-family:var(--kopf);font-weight:700;font-size:22px;color:var(--weiss)}
.karte-aufheben{font-size:15px;color:var(--gold);background:transparent;border:0;padding:10px 0;min-height:44px;cursor:pointer}
.ortwahl ul{list-style:none;margin:0;padding:0}
.ortwahl li{padding:12px 0;border-top:1px solid var(--linie2)}
.ortwahl-name{display:block;font-weight:600;color:var(--weiss)}
.ortwahl-text{display:block;font-size:15px;color:var(--neben);font-variant-numeric:tabular-nums}
.ortwahl a{font-size:15px}

/* ==========================================================================
   Formulare
   ========================================================================== */
.formular{display:flex;flex-direction:column;gap:18px}
.formular--klein{gap:12px;margin-top:16px}
.feld{display:flex;flex-direction:column;gap:6px;margin-bottom:0}
.feld label,.feld-gruppe legend,.feld-titel{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--neben)}
.feld-gruppe{border:0;padding:0;margin:0;min-width:0}
.feld-gruppe legend{margin-bottom:8px;padding:0}
.felder-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:16px}
.felder-2--eng{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.felder-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:16px}
.optionen-zeile{display:flex;flex-wrap:wrap;gap:8px 24px}
.option{display:flex;align-items:center;gap:8px;min-height:44px;font-size:16px;cursor:pointer}
.haken{display:flex;align-items:flex-start;gap:10px;font-size:15px;color:var(--neben);cursor:pointer}
.haken input{margin-top:3px}
.feld-hinweis{font-size:14px;color:var(--neben2)}
.feld-zeile{display:flex;flex-wrap:wrap;gap:8px}
.feld-zeile input{flex:1 1 220px;width:auto}
.formular-fehler{border:1px solid var(--fehler);border-radius:3px;padding:12px 16px;color:var(--fehler);font-size:15px}
.formular-fehler ul{margin:0;padding-left:18px}
.erfolg{border:2px solid var(--ok);border-radius:3px;padding:24px;background:var(--navy)}
.erfolg-titel{font-family:var(--kopf);font-weight:700;font-size:22px;color:var(--weiss);margin-bottom:6px}
.erfolg-nr{font-family:var(--kopf);font-weight:700;font-size:20px;color:var(--gold);font-variant-numeric:tabular-nums;margin-bottom:8px}
.erfolg-nr:empty{display:none}
.erfolg p{color:var(--neben);font-size:16px}
.erfolg .knopf{margin-top:16px}
.erfolg--gross{padding:32px}
.erfolg-marke{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--ok)}
.erfolg--gross .erfolg-nr{font-size:30px;margin:6px 0 10px;color:var(--weiss)}
.erfolg-info{font-size:17px!important;color:var(--text)!important;margin-bottom:8px}
.erfolg-info:empty{display:none}

/* Kundenservice */
.draht{border:1px solid var(--linie2);border-radius:3px;padding:20px 24px;min-width:260px}
.draht-name{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.draht-nr{font-family:var(--kopf);font-weight:700;font-size:24px;color:var(--weiss);font-variant-numeric:tabular-nums}
.draht-nr a{color:var(--weiss);text-decoration:none}
.draht-zeit{font-size:15px;color:var(--neben2)}
.draht-zeit a{color:var(--neben2)}
.seitenspalte{display:flex;flex-direction:column;gap:24px}
.kasten{border:1px solid var(--linie2);border-radius:3px;padding:28px}
.kasten--navy{background:var(--navy);padding:24px 28px}
@media (max-width:600px){.kasten{padding:22px}}
.punkte{margin:0;padding-left:18px;font-size:16px;color:var(--neben)}
.aufklapp{margin-top:12px}
.aufklapp>summary{list-style:none;display:inline-flex}
.aufklapp>summary::-webkit-details-marker{display:none}
.aufklapp[open]>summary{background:var(--gold);color:var(--deep)}
.schritte{margin:0;padding-left:20px;font-size:16px;color:var(--neben);display:flex;flex-direction:column;gap:10px}

/* Ersatzteile */
.et-raster{display:flex;flex-wrap:wrap;gap:48px;align-items:flex-start}
.et-haupt{flex:2 1 560px;min-width:0}
.et-seite{flex:1 1 300px;display:flex;flex-direction:column;gap:20px}
.et-formular{gap:40px}
.et-block{border:0;padding:0;margin:0;min-width:0;display:flex;flex-direction:column;gap:16px}
.et-legende{float:left;width:100%;display:block;padding:0;margin-bottom:6px;font-family:var(--kopf);font-weight:700;font-size:24px;color:var(--weiss)}
.et-legende span{color:var(--gold);font-variant-numeric:tabular-nums}
.et-legende+*{clear:both}
.et-block .feld-hinweis.abstand-16{margin:-10px 0 0}
.et-gruppen{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr));gap:10px}
.et-gruppe{position:relative;display:flex;align-items:center;padding:18px 16px;min-height:76px;border-radius:3px;cursor:pointer;font-size:17px;font-weight:600;color:var(--weiss);background:var(--deep);border:1px solid var(--grau)}
.et-gruppe input{position:absolute;opacity:0;width:1px;height:1px}
.et-gruppe:hover{border-color:var(--gold)}
.et-gruppe:has(input:checked){background:var(--navy);border:2px solid var(--gold);padding:17px 15px}
.et-gruppe:has(input:focus-visible){outline:2px solid var(--gold);outline-offset:3px}
.et-positionen{display:flex;flex-direction:column;gap:16px}
.et-position{border:1px solid var(--linie2);border-radius:3px;padding:20px;background:var(--deep)}
.et-position-kopf{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.et-position-nr{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);font-variant-numeric:tabular-nums}
.et-weg{background:transparent;border:0;color:var(--neben);font-size:14px;text-decoration:underline;cursor:pointer;min-height:44px;padding:0 8px}
.felder-pos{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:12px 16px}
.menge{display:flex;gap:8px}
.menge input{width:90px;flex:0 0 90px}
.et-senden{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}

/* Textseiten */
.inhalt{max-width:800px;font-size:17px;color:var(--text)}
.inhalt>*+*{margin-top:16px}
.inhalt h2{font-size:26px;margin-top:40px}
.inhalt h3{font-size:21px;margin-top:28px}
.inhalt ul,.inhalt ol{padding-left:22px}
.inhalt li+li{margin-top:6px}
.inhalt strong{color:var(--weiss)}
.meldung{padding-top:88px;padding-bottom:104px;max-width:760px}
.meldung h1{font-size:clamp(32px,6vw,48px);margin-bottom:20px}
.meldung p{font-size:18px;color:var(--neben);margin-bottom:28px}

/* ==========================================================================
   Bedarfsanalyse v2.1 (9 Schritte)
   ========================================================================== */
.ba-stern,.bq-stern{color:var(--gold);font-weight:500}
.bq-cover{background:radial-gradient(1100px 420px at 82% -10%,rgba(49,66,109,.55),transparent 62%),radial-gradient(760px 340px at 8% 108%,rgba(169,128,68,.14),transparent 60%),var(--deep)}
.bq-cover-in{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:32px 52px;align-items:end;padding-top:56px;padding-bottom:32px}
@media (max-width:760px){.bq-cover-in{grid-template-columns:1fr}}
.bq-h1{font-size:clamp(32px,4.6vw,54px);line-height:1.02;margin-bottom:12px}
.bq-claim{font-size:19px;color:var(--neben);max-width:56ch}
.bq-fakten{margin:0;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);font-size:13px;font-variant-numeric:tabular-nums}
.bq-fakten div{display:flex;justify-content:space-between;gap:12px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08)}
.bq-fakten div:last-child{border-bottom:0}
.bq-fakten dt{color:var(--neben2);letter-spacing:.06em;text-transform:uppercase;font-size:11.5px}
.bq-fakten dd{margin:0;color:var(--weiss);text-align:right}
.bq-fakten dd.gold{color:var(--gold)}
.bq-rahmen{padding-top:32px;padding-bottom:84px}
.bq-wieder{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;background:var(--band);color:var(--weiss);padding:10px 16px;border-radius:3px;font-size:14.5px;margin-bottom:24px}
.bq-neu{border:0;background:none;color:var(--gold);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:8px 4px;min-height:40px;cursor:pointer}
.bq-app{display:flex;flex-wrap:wrap;gap:40px 52px;align-items:flex-start}
.bq-seite{flex:1 1 250px;max-width:100%;display:flex;flex-direction:column;gap:20px}
.bq-haupt{flex:999 1 560px;min-width:0}
@media (min-width:1000px){.bq-seite{position:sticky;top:24px}}
.bq-navi{list-style:none;margin:0;padding:0;border-left:1px solid rgba(255,255,255,.14)}
.bq-navi li{margin:0}
.bq-nav{display:grid;grid-template-columns:48px 1fr;gap:4px;align-items:baseline;padding:7px 10px 7px 14px;margin-left:-1px;border-left:2px solid transparent;font-size:14.5px;color:var(--neben2);text-decoration:none}
.bq-nav-nr{font-size:11.5px;letter-spacing:.1em;font-variant-numeric:tabular-nums}
.bq-nav:hover{color:var(--weiss)}
.bq-nav.aktiv{color:var(--weiss);border-left-color:var(--gold)}
.bq-nav.aktiv .bq-nav-nr{color:var(--gold)}
.bq-nav.erledigt .bq-nav-nr{color:#5FD08A}
.bq-nav.erledigt .bq-nav-nr::after{content:" \2713"}
.bq-nav.gesperrt{opacity:.55;cursor:default}
.bq-nav.gesperrt:hover{color:var(--neben2)}
.bq-nav-entfaellt{font-size:12.5px;letter-spacing:.02em}
.bq-empf-liste .bq-gruppe:first-child{margin-top:0}
.bq-empf-punkte{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr))}
.bq-empf-punkt{position:relative;border:1px solid rgba(255,255,255,.14);border-radius:3px;background:rgba(255,255,255,.035);padding:13px 16px 13px 46px;margin:0}
.bq-empf-punkt svg{position:absolute;left:16px;top:15px;color:var(--gold)}
.bq-empf-t{display:block;font-family:var(--kopf);font-weight:600;font-size:15.5px;line-height:1.3;color:var(--weiss)}
.bq-empf-why{display:block;font-size:13.5px;line-height:1.45;color:var(--neben);margin-top:3px}
.bq-empf-leer{color:var(--neben2);font-size:14.5px;margin:0}
.bq-klein-titel{margin:0 0 8px;font-family:var(--text-font);font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--neben2);font-weight:600}
.bq-mini{border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.035);border-radius:3px;padding:14px 16px}
.bq-mini-liste{margin:0;display:grid;grid-template-columns:auto 1fr;gap:4px 12px;font-size:13.5px;font-variant-numeric:tabular-nums}
.bq-mini-liste dt{color:var(--neben2)}
.bq-mini-liste dd{margin:0;color:var(--weiss);text-align:right}
.bq-mini-leer{font-size:13.5px;color:var(--neben2)}
.bq-ref-karte{margin:0;border:1px solid rgba(255,255,255,.14);border-radius:3px;overflow:hidden;background:rgba(255,255,255,.035)}
.bq-ref-karte img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}
.bq-ref-karte figcaption{padding:10px 14px 12px;display:flex;flex-direction:column;gap:2px}
.bq-ref-name{font-family:var(--kopf);font-weight:700;font-size:15px;color:var(--weiss)}
.bq-ref-meta{font-size:12.5px;color:var(--neben2);font-variant-numeric:tabular-nums}
.bq-ref-text{font-size:13px;color:var(--neben);line-height:1.45;margin-top:2px}
.bq-ref-link{font-size:12.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;margin-top:6px}
.bq-refs-inline{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:32px}
html:not(.js) .bq-schritt+.bq-schritt{margin-top:56px}
.bq-schritt-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 20px;border-top:2px solid var(--gold-d);padding-top:12px;margin-bottom:12px}
.bq-nr{font-size:13px;font-weight:500;color:var(--gold);letter-spacing:.1em;font-variant-numeric:tabular-nums}
.bq-schritt-titel{flex:1 1 260px;font-size:clamp(24px,2.8vw,32px);line-height:1.15;outline:none}
.bq-kurz{font-size:12px;color:var(--neben2);letter-spacing:.06em;text-transform:uppercase}
.bq-lead{margin:0 0 32px;font-size:18px;color:var(--neben);max-width:68ch}
.bq-feld{border:0;padding:0;margin:0 0 32px;min-width:0}
.bq-feld-kopf{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 12px;margin-bottom:12px;padding:0;float:none;width:100%}
.bq-feld-titel{font-family:var(--kopf);font-size:17px;font-weight:700;color:var(--weiss)}
.bq-strich{display:inline-block;width:20px;height:3px;background:var(--gold-d);margin-right:10px;vertical-align:middle;position:relative;top:-2px}
.bq-marke-pflicht,.bq-marke-mehr{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.bq-marke-mehr{color:var(--neben2)}
.bq-hilfe{margin:-4px 0 12px;font-size:14.5px;color:var(--neben2);max-width:70ch}
.bq-gruppe{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--neben2);font-weight:600;margin:20px 0 8px}
.bq-feld-kopf+.bq-gruppe,.bq-hilfe+.bq-gruppe{margin-top:0}
.bq-raster{display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))}
.bq-raster--breit{grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}
.bq-raster--bilder{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
.bq-karte{position:relative;display:block;cursor:pointer}
.bq-karte input,.bq-chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.bq-karte-in{display:flex;flex-direction:column;height:100%;border:1px solid rgba(255,255,255,.14);border-radius:3px;background:rgba(255,255,255,.035);overflow:hidden;transition:border-color .15s ease-out,background-color .15s ease-out}
.bq-karte-text{position:relative;display:block;padding:14px 16px 14px 46px}
.bq-karte--bild .bq-karte-text{padding:12px 14px 14px 42px;border-top:1px solid rgba(255,255,255,.08)}
.bq-kasten{position:absolute;left:16px;top:17px;width:16px;height:16px;box-sizing:border-box;border:1.5px solid var(--neben2);border-radius:50%;background:transparent}
.bq-karte--bild .bq-kasten{left:14px;top:15px}
.bq-raster--mehr .bq-kasten{border-radius:2px}
.bq-karte-t{display:block;font-family:var(--kopf);font-weight:600;font-size:15.5px;line-height:1.3;color:var(--weiss)}
.bq-karte-d{display:block;font-size:13.5px;color:var(--neben2);line-height:1.45;margin-top:3px}
.bq-karte-bild{display:block;overflow:hidden;aspect-ratio:4/3;background:#0F1524}
.bq-karte-bild img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s ease-out}
.bq-karte-bild--leer{background:repeating-linear-gradient(135deg,rgba(255,255,255,.03) 0 10px,transparent 10px 20px)}
.bq-karte input:checked+.bq-karte-in{border-color:var(--gold);background:rgba(203,168,111,.11)}
.bq-karte input:checked+.bq-karte-in .bq-kasten{border-color:var(--gold);background:var(--gold);box-shadow:inset 0 0 0 3px var(--deep)}
.bq-karte input:checked+.bq-karte-in .bq-karte-text{border-top-color:var(--gold)}
.bq-karte input:focus-visible+.bq-karte-in,.bq-chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
@media (hover:hover){.bq-karte:hover .bq-karte-in{border-color:rgba(255,255,255,.3)}.bq-karte:hover input:checked+.bq-karte-in{border-color:var(--gold)}.bq-karte--bild:hover img{transform:scale(1.03)}.bq-chip:hover span{color:var(--weiss)}}
.bq-chips{display:flex;flex-wrap:wrap;gap:8px}
.bq-chip{position:relative;cursor:pointer}
.bq-chip span{display:inline-block;padding:8px 14px;border:1px solid rgba(255,255,255,.14);border-radius:2px;font-size:14.5px;line-height:1.4;color:var(--neben);background:rgba(255,255,255,.035);transition:all .15s ease-out}
.bq-chip input:checked+span{border-color:var(--gold);background:rgba(203,168,111,.11);color:var(--weiss)}
.bq-inputs{display:grid;gap:12px 20px;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr))}
.bq-full{grid-column:1/-1}
.bq-lbl{display:block;font-size:11.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--neben2);font-weight:500;margin-bottom:6px}
.bq-in{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.14);border-radius:2px;padding:11px 13px;min-height:46px}
.bq-in:focus{border-color:var(--gold);box-shadow:none}
.bq-in.fehlt{border-color:#FF8A8A}
select.bq-in option{background:var(--deep)}
textarea.bq-in{min-height:110px;line-height:1.5}
.bq-regler{display:flex;flex-wrap:wrap;align-items:center;gap:12px 20px}
.bq-range{-webkit-appearance:none;appearance:none;flex:1 1 300px;height:4px;min-height:0;background:rgba(255,255,255,.14);border-radius:2px;margin:20px 0;padding:0}
.bq-range::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;border-radius:50%;background:var(--gold);border:3px solid var(--deep);box-shadow:0 0 0 1px var(--gold);cursor:pointer}
.bq-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--gold);border:3px solid var(--deep);cursor:pointer}
.bq-range:disabled{opacity:.4}
.bq-regler-zahl{display:flex;align-items:center;gap:8px;flex:0 0 150px}
.bq-regler-zahl .bq-in{text-align:right;font-variant-numeric:tabular-nums}
.bq-regler-zahl span{color:var(--neben2);font-size:14px}
html:not(.js) .bq-regler-zahl{flex-basis:auto}
.bq-skala{display:flex;justify-content:space-between;font-size:12px;color:var(--neben2);font-variant-numeric:tabular-nums;max-width:calc(100% - 170px)}
.bq-haken{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;color:var(--neben);cursor:pointer;margin-top:12px}
.bq-haken input{width:18px;height:18px;margin:3px 0 0}
.bq-feld[data-typ=check] .bq-haken{margin-top:0}
.bq-fehler{margin:8px 0 0;font-size:14px;color:#FF8A8A}
.bq-feld.fehlt .bq-chip span,.bq-feld.fehlt .bq-karte-in{border-color:rgba(255,138,138,.55)}
.bq-hinweise{display:grid;gap:10px;margin:12px 0 32px}
.bq-hinweise:empty{display:none}
.bq-hinweis{border-left:3px solid var(--gold-d);background:var(--band);padding:12px 18px;border-radius:0 3px 3px 0;font-size:15px;color:var(--neben)}
.bq-hinweis--ok{border-left-color:#5FD08A}
.bq-hinweis b{font-family:var(--kopf);color:var(--weiss);font-weight:600}
.bq-richtwert{border:1px solid rgba(255,255,255,.14);border-radius:3px;background:var(--navy);padding:20px;margin-bottom:32px}
.bq-rw-wert{font-family:var(--kopf);font-size:30px;font-weight:700;color:var(--gold);font-variant-numeric:tabular-nums;margin:6px 0 4px}
.bq-rw-text{font-size:14px;color:var(--neben2);max-width:72ch}
.bq-rw-vergleich{margin-top:12px}
.bq-zusammenfassung{margin-top:32px}
.bq-zf{border:1px solid rgba(255,255,255,.14);border-radius:3px;overflow:hidden;margin-bottom:8px}
.bq-zf-teil{border-bottom:1px solid rgba(255,255,255,.08);padding:14px 18px}
.bq-zf-teil:last-child{border-bottom:0}
.bq-zf-kopf{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}
.bq-zf-kopf h4{font-size:14px;font-weight:600}
.bq-zf-aendern{border:0;background:none;color:var(--gold);font-size:13px;letter-spacing:.08em;text-transform:uppercase;padding:6px 0;min-height:32px;cursor:pointer}
.bq-zf-teil dl{margin:0;display:grid;grid-template-columns:minmax(120px,34%) 1fr;gap:4px 16px;font-size:14px}
.bq-zf-teil dt{color:var(--neben2)}
.bq-zf-teil dd{margin:0;color:var(--weiss)}
.bq-zf-leer{font-size:14px;color:var(--neben2)}
.bq-meldung{border:1px solid #FF8A8A;border-radius:3px;padding:12px 16px;color:#FF8A8A;font-size:15px;margin-top:24px}
.bq-steuerung{display:flex;flex-wrap:wrap;gap:12px;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding-top:20px;margin-top:32px}
.bq-luecke{flex:1 1 auto}
.bq-zaehler{font-size:13px;color:var(--neben2);letter-spacing:.06em;font-variant-numeric:tabular-nums}
.bq-b{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;min-height:46px;padding:12px 22px;border-radius:2px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:all .15s ease-out}
.bq-pri{background:var(--gold);color:var(--deep);font-weight:600;border:1px solid var(--gold)}
.bq-sec{background:transparent;color:var(--weiss);border:1px solid rgba(255,255,255,.3)}
.bq-b[disabled]{opacity:.6;cursor:wait}
@media (hover:hover){.bq-pri:hover{background:#D8BA86}.bq-sec:hover{border-color:var(--gold);color:var(--gold)}}
.bq-fertig{outline:none}
.bq-haken-ok{font-size:15px;color:#5FD08A}
.bq-fertig-titel{font-size:18px;color:var(--weiss);margin-bottom:8px}
.bq-fertig-nr{font-family:var(--kopf);font-weight:700;font-size:22px;color:var(--gold);font-variant-numeric:tabular-nums;margin-bottom:8px}
.bq-fertig-nr:empty{display:none}
.bq-fertig-text{font-size:16px;color:var(--neben);max-width:68ch;margin-bottom:24px}
.bq-knoepfe{display:flex;flex-wrap:wrap;gap:10px}
.bq-weiter-kopf{margin:52px 0 12px}
.bq-weg{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.bq-weg-schritt{border:1px solid rgba(255,255,255,.14);border-radius:3px;padding:14px 16px;background:rgba(255,255,255,.035)}
.bq-weg-schritt b{display:block;font-family:var(--kopf);font-size:15.5px;color:var(--weiss)}
.bq-weg-schritt b span{color:var(--gold);margin-right:8px;font-variant-numeric:tabular-nums}
.bq-weg-schritt p{margin:6px 0 0;font-size:14px;color:var(--neben)}
.bq-druck{display:none}
.bq-fertig--server{padding-top:8px}

/* ==========================================================================
   Druck (Bedarfsanalyse als PDF speichern)
   ========================================================================== */
@media print{
	body{background:#fff;color:#000}
	.kopf,.fuss,.band,.sprung,.bq-cover,.bq-seite,.bq-knoepfe,.bq-weiter-kopf,.bq-weg,.bq-wieder{display:none!important}
	.sec{background:#fff!important;color:#000}
	.bq-schritt-titel,.bq-fertig-titel,.bq-fertig-text{color:#000}
	.bq-fertig-nr{color:#7a5410}
	.bq-druck{display:block;white-space:pre-wrap;font-family:var(--text-font);font-size:12pt;line-height:1.5;color:#000;margin-top:16px}
}

/* ==========================================================================
   News: neue Produkte
   ========================================================================== */
.news-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:24px}
.news-karte{display:flex;flex-direction:column;text-decoration:none;color:var(--text);background:var(--panel);border:1px solid var(--linie2);border-radius:3px;overflow:hidden;transition:border-color .2s}
.news-karte-bild{position:relative;display:block;aspect-ratio:4/3;background:#1A2235;border-bottom:1px solid var(--linie2);overflow:hidden}
.news-karte-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.news-karte-text{display:flex;flex-direction:column;gap:6px;flex:1;padding:22px 22px 24px}
.news-badge{display:block;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);line-height:1.4}
.news-badge--rahmen{display:inline-block;border:1px solid var(--gold-d);border-radius:2px;padding:5px 10px;margin-bottom:18px}
.news-karte-titel{font-size:24px;line-height:1.15;margin:2px 0 0}
.news-karte-von{font-size:14px;color:var(--neben2)}
.news-karte-teaser{font-size:16px;color:var(--neben);line-height:1.55;margin-top:4px}
.news-mehr{margin-top:auto;padding-top:12px;font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
@media (hover:hover){.news-karte:hover{border-color:var(--gold)}.news-karte:hover .news-mehr{color:var(--weiss)}.news-karte:hover .news-karte-bild img{transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){.news-karte,.news-karte-bild img{transition:none}}
.nw-platz,.news-karte-bild .nw-platz{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--neben2);font-size:12px;letter-spacing:.14em;text-transform:uppercase;background:repeating-linear-gradient(135deg,#1A2235 0 22px,#1F283D 22px 44px)}
.news-hinweis{margin-top:32px;font-size:14px;color:var(--neben2)}
.news-hinweis--allein{margin:0;padding:24px 0 48px}

.news-kopf{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px;align-items:center;padding-top:40px;padding-bottom:72px}
.news-krumen{font-size:14px;color:var(--neben2);margin-bottom:20px}
.news-krumen a{color:var(--neben)}
.news-titel{font-size:clamp(40px,7vw,60px);line-height:1.02;margin-bottom:12px}
.news-herkunft{font-size:16px;color:var(--neben2);margin-bottom:20px}
.news-teaser{font-size:20px;line-height:1.5;color:var(--text);margin-bottom:28px;max-width:640px}
.news-titelbild{position:relative;aspect-ratio:4/3;border:1px solid var(--linie2);border-radius:3px;overflow:hidden;background:#1A2235}
.news-titelbild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}

.news-fakten{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,220px),1fr));gap:0 24px;margin:0;border-top:1px solid rgba(255,255,255,.12)}
.news-fakten div{padding:16px 0 18px;border-bottom:1px solid rgba(255,255,255,.12)}
.news-fakten dt{font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--neben2);margin-bottom:6px}
.news-fakten dd{margin:0;font-size:17px;color:var(--weiss);font-variant-numeric:tabular-nums}

.news-inhalt{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:56px;align-items:start}
.news-absatz+.news-absatz{margin-top:16px}
.news-geeignet{margin-top:24px;font-size:16px;color:var(--neben)}
.news-geeignet strong{color:var(--weiss)}
.news-punkte{list-style:none;margin:0;padding:0;border-top:1px solid var(--linie2)}
.news-punkte li{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--linie2);font-size:16px;color:var(--text)}
.news-punkte li svg{flex:0 0 auto;margin-top:3px}
.news-punkte--programm strong{display:block;color:var(--weiss);font-family:var(--kopf);font-size:18px;margin-bottom:2px}
.news-punkte--programm span{color:var(--neben)}

.news-video{position:relative;aspect-ratio:16/9;background:#0F1420;border-radius:3px;overflow:hidden;margin-bottom:12px}
.news-video video,.news-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;background:#0F1420}
.news-video-bild{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.55}
.news-video-start{position:absolute;inset:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:transparent;border:0;color:var(--weiss);cursor:pointer;padding:24px;text-align:center}
.news-video-start svg{background:var(--gold);border-radius:50%;padding:16px;box-sizing:content-box}
.news-video-text{font-size:16px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
.news-video-hinweis{max-width:520px;font-size:14px;color:var(--neben)}
.news-video-start:hover svg{background:#D9BC88}
.news-galerie{margin-bottom:0}

.news-anfrage{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:start}
@media (max-width:899px){.news-anfrage{grid-template-columns:1fr;gap:32px}}
.news-kontakt{font-size:16px;line-height:1.8}
.news-kontakt a{color:var(--text)}
.news-formular{background:var(--navy);border:1px solid var(--linie2);border-radius:3px;padding:28px}
@media (max-width:600px){.news-formular{padding:22px 18px}}
.news-produkt .feld-titel{display:block;margin-bottom:6px}
.news-produkt-name{font-family:var(--kopf);font-weight:700;font-size:20px;color:var(--weiss)}
.news-produkt-von{font-size:15px;color:var(--neben2)}
.news-anliegen{display:flex;flex-wrap:wrap;gap:8px}
.news-chip{position:relative;cursor:pointer}
.news-chip input{position:absolute;opacity:0;width:1px;height:1px}
.news-chip span{display:inline-block;padding:10px 15px;border:1px solid rgba(255,255,255,.2);border-radius:2px;font-size:15px;color:var(--neben);background:rgba(255,255,255,.03);transition:border-color .15s,background-color .15s}
.news-chip input:checked+span{border-color:var(--gold);background:rgba(203,168,111,.12);color:var(--weiss)}
.news-chip input:focus-visible+span{outline:2px solid var(--gold);outline-offset:2px}
.news-formular input,.news-formular select,.news-formular textarea{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18)}
.news-formular select option{background:var(--deep)}

/* ==========================================================================
   1.2.0 – Startseite „Vom Rendering zur Eröffnung“, Leistungen & Produkte,
   Über uns, Ansprechpartner, Presse in Fallstudien, News, Teilekatalog
   ========================================================================== */
.abstand-oben-40{margin-top:40px}.abstand-oben-56{margin-top:56px}
.unterstrichen--gold{color:var(--gold);border-bottom-color:var(--gold-d)}
.unterstrichen--gold:hover{color:var(--weiss)}
.unterstrichen-pfeil{display:inline-flex;align-items:center;gap:8px;color:var(--weiss);text-decoration:none;font-size:15px;font-weight:600;letter-spacing:.06em;border-bottom:1px solid var(--gold);padding-bottom:3px}
.unterstrichen-pfeil:hover{color:var(--gold)}
.knopf .ico{flex:0 0 auto}
.knopf--tel{font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:.04em}
.knopf-text{background:transparent;border:0;color:var(--neben);font-size:15px;font-weight:500;padding:10px 4px;min-height:44px;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.knopf-text:hover{color:var(--weiss)}

/* Startseite: Vom Rendering zur Eröffnung */
.rz{display:grid;grid-template-columns:minmax(0,9fr) minmax(0,8fr);gap:12px}
.rz--ohne-gross{grid-template-columns:minmax(0,1fr)}
.rz-rechts{display:grid;gap:12px;align-content:start}
.rz--ohne-gross .rz-rechts{grid-template-columns:repeat(2,minmax(0,1fr))}
.rz-bild{position:relative;overflow:hidden;border-radius:3px;background:var(--linie);margin:0}
.rz-bild img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.rz-bild--gross{background:#EEF0F5}
.rz-rechts .rz-bild{aspect-ratio:4/3}
.rz-rechts .rz-bild img{position:absolute;inset:0}
.rz-etikett,.kachel-etikett{position:absolute;left:12px;bottom:12px;z-index:2;padding:6px 10px;background:rgba(14,19,34,.84);border-radius:2px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);pointer-events:none}
@media (hover:hover){.rz-bild:hover img{transform:scale(1.03)}}
@media (prefers-reduced-motion:reduce){.rz-bild img{transition:none}}
@media (max-width:767px){.rz{grid-template-columns:minmax(0,1fr)}.rz-bild--gross img{height:auto}}

/* Ansprechpartner: Karten auf Navy Deep, Initiale auf Blaupausen-Raster, solange kein Foto da ist */
.sec--deep .person{background:var(--navy)}
.person-foto--initiale{border:1px solid var(--linie2);background:linear-gradient(rgba(203,168,111,.10) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(90deg,rgba(203,168,111,.10) 1px,transparent 1px) 0 0/40px 40px,linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px) 0 0/8px 8px,linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px) 0 0/8px 8px,radial-gradient(120% 100% at 80% 15%,#2B3A62 0%,#1D2539 60%,#151C2E 100%)}
.person-foto--initiale span{font-size:60px;line-height:1;letter-spacing:0}

/* Leistungen & Produkte, Über uns: Kopf */
.lp{padding-top:72px}
.lp-titel{font-size:clamp(40px,6vw,60px);line-height:1.04;margin-bottom:24px;max-width:900px}
.lp-text{font-size:21px;line-height:1.55;color:var(--text);max-width:820px;margin-bottom:20px}
.uu-text{font-size:18px;color:var(--neben);max-width:780px;margin-bottom:20px}
.lp-unter{margin:64px 0 28px}
.lp-raster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.lp-karte{background:var(--navy);border:1px solid var(--linie2);border-radius:3px;overflow:hidden}
.lp-karte:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.lp-karte-bild{aspect-ratio:16/9;border-bottom:1px solid var(--linie2)}
.lp-karte-text{padding:24px 28px 28px}
.lp-karte-titel{font-size:26px;line-height:1.15;margin:6px 0 4px}
.lp-karte ul{margin:0;padding-left:18px;font-size:16px;line-height:1.45}
.lp-karte li{margin-bottom:6px}
@media (max-width:800px){.lp-raster{grid-template-columns:minmax(0,1fr)}}
@media (max-width:767px){.lp{padding-top:48px}.lp-text{font-size:19px}.lp-unter{margin-top:48px}}

/* Produktkataloge */
.pk-text{font-size:17px;line-height:1.6;color:var(--text);max-width:820px}
.pk-hinweis{margin-top:10px;font-size:14px;color:var(--neben)}
.pk-gruppe{margin-top:44px}
.pk-kopf{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}
.pk-kopf img{display:block;height:22px;width:auto}
.pk-kopf h3{font-size:21px;line-height:1.25}
.pk-gruppe-text{margin:8px 0 18px;font-size:15px;line-height:1.5;color:var(--neben)}
.pk-raster{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.pk-raster--4{grid-template-columns:repeat(4,minmax(0,1fr))}
.pk-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px}
.pk-karte{display:flex;flex-direction:column;background:var(--deep);border:1px solid var(--linie2);border-radius:3px;overflow:hidden;text-decoration:none;color:var(--text);transition:border-color .2s,transform .2s}
.pk-karte:hover{border-color:var(--gold);transform:translateY(-2px);color:var(--text)}
.pk-karte img{display:block;width:100%;height:auto;aspect-ratio:700/495;object-fit:cover;background:var(--panel);border-bottom:1px solid var(--linie2)}
.pk-karte-text{display:flex;flex-direction:column;gap:6px;padding:16px 18px 18px;flex:1}
.pk-karte-text strong{font-family:var(--kopf);font-weight:700;font-size:19px;line-height:1.2;color:var(--weiss)}
.pk-karte-text>span{font-size:14px;line-height:1.45;color:var(--neben);flex:1}
.pk-karte-text em{font-style:normal;margin-top:6px;font-size:13px;font-weight:600;letter-spacing:.06em;color:var(--gold)}
.pk-karte-text em i{font-style:normal}
.pk-karte--quer{flex-direction:row}
.pk-karte--quer img{width:52%;flex:0 0 52%;border-bottom:0;border-right:1px solid var(--linie2)}
.pk-alle{margin-top:36px}
@media (prefers-reduced-motion:reduce){.pk-karte{transition:none}}
@media (max-width:1100px){.pk-raster--4{grid-template-columns:repeat(2,minmax(0,1fr))}.pk-duo{grid-template-columns:minmax(0,1fr)}}
@media (max-width:900px){.pk-raster{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:700px){.pk-gruppe{margin-top:32px}.pk-raster,.pk-raster--4{gap:12px}.pk-karte-text{padding:12px 12px 14px;gap:4px}.pk-karte-text strong{font-size:15px}.pk-karte-text>span{display:none}.pk-karte-text em{font-size:12px;margin-top:2px}.pk-karte-text em i{display:none}.pk-kopf h3{font-size:18px}.pk-gruppe-text{font-size:14px;margin-bottom:14px}.pk-karte--quer{flex-direction:column;max-width:calc(50% - 6px)}.pk-karte--quer img{width:100%;flex:none;border-right:0;border-bottom:1px solid var(--linie2)}}

/* Über uns */
.uu-karten{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:24px;margin-top:28px}
.uu-karte-bild{aspect-ratio:16/10}
.uu-karte-kopf{padding-top:14px;display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px}
.uu-karte .karte-name{font-size:20px}
.uu-mehr{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.warum{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:24px}
.warum-karte{background:var(--deep);border:1px solid var(--linie2);border-radius:3px;padding:32px}
.warum-nr{font-family:var(--kopf);font-weight:700;font-size:15px;letter-spacing:.08em;color:var(--gold);margin-bottom:10px;font-variant-numeric:tabular-nums}
.warum-titel{font-size:24px;line-height:1.2;margin-bottom:12px}
.warum-karte p{font-size:16.5px;color:var(--neben)}
.naechste-in{max-width:760px}
.claim{margin-top:72px;padding-top:40px;border-top:1px solid var(--linie2);font-family:var(--kopf);font-weight:700;font-size:clamp(32px,4.6vw,48px);line-height:1.1;color:var(--weiss)}
@media (max-width:600px){.warum-karte{padding:24px}.claim{margin-top:48px;padding-top:32px}}

/* Fallstudien: In der Presse */
.presse-kasten{margin-top:24px;padding:0 20px;border:1px solid var(--linie2);border-radius:3px}
.presse-titel{padding:16px 0 2px;font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.presse-link{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:10px 0 16px;text-decoration:none;color:var(--text)}
.presse-link+.presse-link{border-top:1px solid var(--linie);padding-top:16px}
.presse-h{display:block;font-weight:600;font-size:18px;line-height:1.35;transition:color .2s}
.presse-q{display:block;margin-top:4px;font-size:15px;color:var(--neben)}
a.presse-link:hover{color:var(--text)}
a.presse-link:hover .presse-h{color:var(--gold)}
.presse-link .ico{flex:0 0 auto;margin-top:4px}

/* News: Link zum Hersteller, Themen, Bilder in Reihen, Bildnachweis */
.news-mehr-link{margin-top:18px}
.news-mehr-link a{display:inline-flex;align-items:center;gap:6px;font-weight:600;text-decoration:none;border-bottom:1px solid var(--gold-d);padding-bottom:2px}
.news-mehr-link a:hover{color:var(--weiss)}
.galerie-hinweis{font-size:16px;color:var(--neben);margin-bottom:28px;max-width:820px}
.themen{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:16px}
.thema{background:var(--deep);border:1px solid var(--linie2);border-radius:3px;overflow:hidden;margin:0}
.thema img{display:block;width:100%;height:auto;aspect-ratio:600/660;object-fit:cover}
.thema figcaption{padding:12px 16px 14px;border-top:1px solid var(--linie2);display:flex;flex-direction:column;gap:2px}
.thema-name{font-family:var(--kopf);font-weight:700;font-size:17px;line-height:1.25;color:var(--weiss)}
.thema-status{font-size:13px;letter-spacing:.04em;color:var(--neben)}
.thema-status--ja{color:var(--ok)}
.galerie-reihen{margin:0}
.galerie-reihe{display:flex;gap:16px}
.galerie-reihe+.galerie-reihe{margin-top:16px}
.reihen-bild{position:relative;min-width:0;margin:0;flex-shrink:1;flex-basis:0;overflow:hidden;border-radius:3px;background:var(--panel)}
.reihen-bild img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.reihen-bild .kachel-etikett{left:0;right:0;bottom:0;padding:28px 14px 10px;border-radius:0;background:linear-gradient(rgba(21,28,46,0),rgba(21,28,46,.88));font-size:12.5px;font-weight:400;line-height:1.35;letter-spacing:.02em;text-transform:none;color:var(--text)}
@media (max-width:700px){.themen{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.thema figcaption{padding:10px 12px 12px}.galerie-reihe{flex-wrap:wrap;gap:12px}.galerie-reihe+.galerie-reihe{margin-top:12px}.reihen-bild--hoch{flex:1 1 calc(50% - 6px)!important}.reihen-bild--quer{flex:1 1 100%!important}}

/* Ersatzteile: Teilekatalog Kletterspielanlagen */
.et-katalog{margin-top:0}
.tk-intro{margin:-6px 0 16px}
.tk-werkzeuge{display:flex;flex-wrap:wrap;align-items:center;gap:12px 24px;margin-bottom:16px}
.tk-suche{flex:1 1 280px;max-width:420px}
.tk-nur{margin:0}
.tk-kopf{display:grid;grid-template-columns:72px minmax(0,1.3fr) minmax(0,2fr) 110px;gap:16px;padding:8px 12px;font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--neben2);border-bottom:1px solid var(--linie2)}
.tk-kopf-var{display:grid;grid-template-columns:1fr 1fr 132px 36px;gap:8px}
.tk-kopf-summe{text-align:right}
.tk-teil{display:grid;grid-template-columns:72px minmax(0,1.3fr) minmax(0,2fr) 110px;gap:16px;padding:14px 12px;border-bottom:1px solid var(--linie)}
.tk-teil.gewaehlt{background:rgba(203,168,111,.07)}
.tk-teil[hidden]{display:none}
.tk-bild{width:72px;height:72px;background:#fff;border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.tk-bild img{max-width:100%;max-height:100%;width:auto;height:auto;display:block}
.tk-ohne{font-size:11px;color:#6b7180;text-align:center;padding:4px}
.tk-name{font-weight:600;color:var(--weiss);line-height:1.3}
.tk-nr{display:inline-block;min-width:26px;padding:1px 6px;margin-right:4px;border-radius:2px;background:var(--band);color:var(--gold);font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}
.tk-sub,.tk-spec{font-size:14px;color:var(--neben2);line-height:1.35}
.tk-preis{margin-top:4px;font-size:14px;color:var(--neben);font-variant-numeric:tabular-nums}
.tk-preis strong{color:var(--weiss)}
.tk-per{display:block;font-size:13px;color:var(--neben2)}
.tk-netz{margin-top:4px;font-size:13px;color:var(--gold)}
.tk-zeile{display:grid;grid-template-columns:1fr 1fr 132px 36px;gap:8px;align-items:center}
.tk-zeile+.tk-zeile{margin-top:8px}
.tk-zeile input{min-height:40px;padding:8px 10px;font-size:15px}
.tk-zeile.fehler input.tk-groesse,.tk-zeile.fehler input.tk-farbe{border-color:var(--fehler)}
.tk-menge{display:flex;align-items:stretch}
.tk-menge input{text-align:center;border-radius:0;padding:8px 4px;-moz-appearance:textfield;appearance:textfield}
.tk-menge input::-webkit-outer-spin-button,.tk-menge input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.tk-schritt{flex:0 0 34px;background:var(--navy);border:1px solid var(--grau);color:var(--weiss);font-size:18px;cursor:pointer}
.tk-schritt:first-child{border-radius:2px 0 0 2px;border-right:0}
.tk-schritt:last-child{border-radius:0 2px 2px 0;border-left:0}
.tk-weg{width:36px;height:36px;background:transparent;border:1px solid var(--linie2);border-radius:2px;color:var(--neben);font-size:18px;cursor:pointer}
.tk-weg:hover{border-color:var(--fehler);color:var(--fehler)}
.tk-plus{margin-top:8px;background:transparent;border:0;color:var(--gold);font-size:14px;font-weight:600;padding:6px 0;cursor:pointer}
.tk-gebinde{margin-top:6px;font-size:13px;line-height:1.45;color:var(--neben)}
.tk-summe{text-align:right;font-variant-numeric:tabular-nums}
.tk-summe strong{display:block;color:var(--weiss)}
.tk-summe span{font-size:13px;color:var(--neben2)}
.tk-leer{padding:16px 12px;color:var(--neben)}
.tk-fuss{margin-top:16px}
.tk-leiste{position:sticky;bottom:0;z-index:5;margin-top:16px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px 24px;padding:14px 16px;background:var(--navy);border:1px solid var(--linie2);border-radius:3px;font-variant-numeric:tabular-nums}
.tk-gesamt{color:var(--weiss);font-size:18px}
.tk-zzgl{font-size:13px;color:var(--neben2)}
.feld-optional{font-weight:400;color:var(--neben2);font-size:13px}
.feld-fehler{border-color:var(--fehler)!important}
.tk-auswahl{list-style:none;margin:0 0 12px;padding:0;border-top:1px solid var(--linie2)}
.tk-auswahl li{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid var(--linie)}
.tk-a-name{font-weight:600;color:var(--weiss)}
.tk-a-var,.tk-a-menge{font-size:14px;color:var(--neben)}
.tk-a-summe{white-space:nowrap;font-variant-numeric:tabular-nums}
.tk-a-gesamt{display:flex;justify-content:space-between;gap:16px;padding:8px 0 16px;font-variant-numeric:tabular-nums}
.tk-a-gesamt strong{font-size:20px;color:var(--weiss)}
.tk-nichts{padding:12px 0 16px;color:var(--neben)}
.tk-knoepfe{display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px}
.tk-frage{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--text)}
@media (max-width:900px){
	.tk-kopf{display:none}
	.tk-teil{grid-template-columns:64px minmax(0,1fr);grid-template-areas:"bild info" "var var" "summe summe"}
	.tk-bild{grid-area:bild;width:64px;height:64px}.tk-info{grid-area:info}.tk-var{grid-area:var}.tk-summe{grid-area:summe}
	.tk-zeile{grid-template-columns:1fr 1fr 120px 36px}
}
@media (max-width:520px){.tk-zeile{grid-template-columns:1fr 1fr;}.tk-menge{grid-column:1}.tk-weg{grid-column:2;justify-self:end}}
@media print{
	.kopf,.fuss,.et-seite,.et-formular,.tk-werkzeuge,.tk-leiste,.tk-knoepfe,.tk-plus,.tk-weg,.tk-schritt,.tk-teil:not(.gewaehlt),.tk-kopf,.haken,.sprung{display:none!important}
	body,.sec{background:#fff!important;color:#000!important}
	.tk-teil,.tk-auswahl li{break-inside:avoid}
	.tk-name,.tk-a-name,.tk-summe strong,.tk-a-gesamt strong{color:#000!important}
	input{border:0!important;background:transparent!important;color:#000!important}
}

/* Textseiten Impressum und Datenschutz (Blöcke mit eigenen CSS-Klassen) */
.inhalt .vorzeile{font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold)}
.inhalt .impressum-zeile{display:grid;grid-template-columns:260px minmax(0,1fr);gap:6px 32px;padding:22px 0;border-top:1px solid var(--linie2);margin-top:0}
.inhalt .vorzeile+.impressum-zeile,.inhalt p:not(.impressum-zeile)+.impressum-zeile{margin-top:24px}
.inhalt .impressum-zeile:not(:has(+ .impressum-zeile)){border-bottom:1px solid var(--linie2)}
.inhalt .impressum-zeile>strong{font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--neben2);padding-top:3px}
.inhalt .impressum-zeile>span{font-size:18px;line-height:1.6;color:var(--text)}
.inhalt .impressum-zeile+:not(.impressum-zeile){margin-top:40px}
@media (max-width:700px){.inhalt .impressum-zeile{grid-template-columns:minmax(0,1fr)}}
.inhalt .adresse{padding:16px 20px;border-left:3px solid var(--gold-d);background:rgba(255,255,255,.035);border-radius:0 3px 3px 0}
.inhalt .ds-nr{color:var(--gold);font-variant-numeric:tabular-nums;margin-right:6px}
.inhalt h2:has(.ds-nr){padding-top:40px;border-top:1px solid var(--linie2)}
.inhalt h3.ds-lab{font-family:var(--text-font);font-size:13px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--neben2);margin-top:22px}
.inhalt li::marker{color:var(--gold)}
