@font-face{font-family:InterTight;src:url('../_shared/fonts/inter-tight-latin-500-normal.woff2') format('woff2');font-weight:500;font-display:swap}
@font-face{font-family:InterTight;src:url('../_shared/fonts/inter-tight-latin-300-normal.woff2') format('woff2');font-weight:300;font-display:swap}
:root{color-scheme:dark;--ink:#0b1b22;--petrol:#102630;--light:#f1f4f4;--lime:#d4ff70;--muted:#b4c2c6;--line:rgba(239,250,252,.42)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body.stromwerk{margin:0;background:var(--ink);color:#fff;font:500 16px/1.35 InterTight,Arial,sans-serif;overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--lime);outline-offset:4px}::selection{background:var(--lime);color:var(--ink)}.skip-link{position:fixed;z-index:1000;left:1rem;top:-5rem;background:var(--lime);color:var(--ink);padding:.7rem 1rem}.skip-link:focus{top:1rem}
.site-header{position:absolute;z-index:50;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:15px clamp(22px,3.2vw,64px);pointer-events:none}.site-header>*{pointer-events:auto}.brand{font-size:clamp(17px,1.45vw,24px);letter-spacing:.34em;white-space:nowrap;line-height:1;font-weight:500}.desktop-nav{display:flex;gap:clamp(20px,2.8vw,52px);align-items:center;border:1px solid rgba(255,255,255,.28);background:rgba(9,24,31,.81);backdrop-filter:blur(16px);border-radius:99px;padding:5px 6px 5px 33px;font-size:14px}.desktop-nav a:hover,.mobile-nav a:hover,.text-link:hover{color:var(--lime)}.nav-cta,.mobile-cta,.button-lime{border:0;background:var(--lime);color:#101d20;border-radius:8px;font-weight:500}.nav-cta{padding:12px 24px}.nav-cta span,.button span,.mobile-cta span{display:inline-block;margin-left:9px}.nav-cta:hover,.button-lime:hover,.mobile-cta:hover{background:#e6ffa7}.mobile-actions,.mobile-nav{display:none}
.scene{height:360svh;min-height:2150px;position:relative;background:#071921}.scene-pin{height:100svh;min-height:580px;position:sticky;top:0;overflow:hidden;isolation:isolate}.scene-imagery,.scene-image,.scene-grid,.scene-shade,.scene-diagram{position:absolute;inset:0;width:100%;height:100%}.scene-imagery{z-index:-2;background:radial-gradient(ellipse at 68% 38%,#193845,#071921 78%)}.scene-image{background-position:center center;background-size:cover;will-change:opacity,transform}.contact-image{background-image:url('assets/contact.png');opacity:1;transform:scale(1.04)}.house-image{background-image:url('assets/building.png');opacity:0;transform:scale(1.19);transform-origin:69% 52%}.scene-grid{opacity:.12;background-image:linear-gradient(rgba(197,232,227,.19) 1px,transparent 1px),linear-gradient(90deg,rgba(197,232,227,.19) 1px,transparent 1px);background-size:8vw 8vw;mask-image:linear-gradient(90deg,transparent 25%,black 75%)}.scene-diagram{z-index:2;opacity:0;filter:drop-shadow(0 0 6px rgba(178,241,255,.55));pointer-events:none}.wire-shell{stroke-dasharray:3 5}.wire-dots{opacity:.85}.path-halo,.path-base,.path-pulse{stroke-linecap:round;stroke-linejoin:round}.path-halo{stroke:var(--lime);stroke-width:19;opacity:.28;filter:blur(12px)}.path-base{stroke:var(--lime);stroke-width:4;filter:drop-shadow(0 0 7px var(--lime))}.path-pulse{stroke:#fff;stroke-width:6;stroke-dasharray:55 1300;opacity:0}.focus{stroke:var(--lime);stroke-width:4;fill:var(--lime);filter:drop-shadow(0 0 8px var(--lime));transition:opacity .65s ease}.focus-licht{opacity:1}.focus-laden,.focus-solar{opacity:0}.scene[data-mode="laden"] .focus-licht,.scene[data-mode="solar"] .focus-licht{opacity:.08}.scene[data-mode="laden"] .focus-laden,.scene[data-mode="solar"] .focus-solar{opacity:1}.scene[data-mode="laden"] .path-base,.scene[data-mode="solar"] .path-base,.scene[data-mode="laden"] .path-halo,.scene[data-mode="solar"] .path-halo{opacity:.16}.scene-shade{z-index:3;background:linear-gradient(90deg,rgba(3,18,25,.95) 0%,rgba(3,18,25,.82) 24%,rgba(3,18,25,.26) 52%,rgba(3,18,25,0) 77%),linear-gradient(0deg,rgba(3,18,25,.9),transparent 24%,transparent 70%,rgba(3,18,25,.28))}
.scene-copy{position:absolute;z-index:5;left:clamp(24px,3.2vw,65px);top:50%;transform:translateY(-50%);width:min(580px,47vw);pointer-events:none}.scene-copy>*{pointer-events:auto}.eyebrow,.section-kicker,.scene-caption,.scene-progress,.chapter-rule,.service-number,.service-detail-label,.approach-steps span,.approach-note,.dialog-top,.site-footer>span{font-size:12px;letter-spacing:.15em;text-transform:uppercase}.scene-copy-contact .eyebrow{line-height:1.45;margin:0 0 38px}.scene-copy h1,.scene-copy h2{font-size:clamp(48px,5.35vw,100px);letter-spacing:-.045em;line-height:.96;font-weight:500;margin:0 0 24px}.scene-copy-contact .hero-description{font-size:clamp(18px,1.55vw,26px);line-height:1.2;max-width:460px;margin:0 0 27px}.hero-actions{display:flex;flex-direction:column;align-items:start;gap:20px}.button{padding:14px 25px;min-height:50px}.text-link{font-size:14px;letter-spacing:.03em}.text-link span{margin-left:8px}.scene-copy-connect,.scene-copy-house{opacity:0;visibility:hidden}.scene-copy-connect h2{font-size:clamp(44px,4.25vw,78px)}.scene-copy-connect p,.scene-copy-house>p:not(.eyebrow){font-size:21px}.chapter-rule{display:block;background:#fff;width:35px;height:1px;margin-bottom:27px}.scene-copy-house .eyebrow{margin-bottom:30px}.scene-copy-house h2{font-size:clamp(56px,5vw,92px)}.scene-copy-house>p:not(.eyebrow){max-width:370px}.house-cta{margin-top:16px}.scene-bottom{position:absolute;z-index:6;bottom:clamp(48px,6.6vh,85px);left:clamp(24px,3.2vw,65px);right:clamp(24px,3.2vw,65px);display:flex;align-items:end;gap:30px;border-top:1px solid var(--line);padding-top:18px;opacity:0;visibility:hidden}.scene-caption{white-space:nowrap;margin-bottom:12px}.controls-wrap{display:flex;align-items:center;gap:28px;flex:1}.scene-controls{display:flex;align-items:stretch;border-bottom:1px solid var(--line);min-width:270px}.scene-controls button{background:none;border:0;border-bottom:3px solid transparent;color:#c9d2d4;padding:0 12px 13px;white-space:nowrap}.scene-controls button:first-child{padding-left:10px}.scene-controls button[aria-pressed="true"]{border-color:var(--lime);color:white}.scene-controls button:hover{color:var(--lime)}.mode-status{border-left:1px solid var(--line);padding-left:27px;color:var(--lime);font-size:13px;min-width:235px;margin:0 0 9px}.status-symbol{font-size:26px;vertical-align:middle;margin-right:7px;line-height:0}.motion-toggle{border:0;background:none;color:white;white-space:nowrap;font-size:12px;padding:6px 0;margin-bottom:8px}.motion-toggle:hover{color:var(--lime)}.pause-symbol{font-size:17px;margin-left:7px}.scene-progress{position:absolute;z-index:6;bottom:15px;right:clamp(24px,3.2vw,65px);display:flex;align-items:center;gap:10px;color:#acbdc0;text-transform:none;letter-spacing:.02em}.scene-progress i{height:1px;width:22px;background:#9bacaf}.scene-progress span.active{color:#fff}
.services{color:#12202a;background:#f0f4f5;padding:clamp(74px,8vw,140px) clamp(24px,3.2vw,65px) clamp(85px,10vw,155px);display:grid;grid-template-columns:minmax(270px,.95fr) minmax(430px,1.05fr);gap:clamp(40px,7vw,130px);scroll-margin-top:15px}.section-kicker{margin:0 0 30px}.section-intro h2,.approach h2{font-size:clamp(42px,4vw,72px);line-height:1.02;letter-spacing:-.043em;font-weight:500;margin:0 0 32px}.section-intro>p:last-child{max-width:420px;font-size:20px;line-height:1.4;color:#52616b;font-weight:300}.service-list{border-top:1px solid #87959c}.service-row{width:100%;border:0;border-bottom:1px solid #a8b4bb;display:grid;grid-template-columns:55px 1fr 24px;column-gap:8px;text-align:left;background:transparent;color:#14242e;padding:27px 0 24px;align-items:start}.service-row:hover .service-name,.service-row[aria-expanded="true"] .service-name{color:#416b57}.service-number{align-self:center}.service-name{font-size:clamp(24px,2.15vw,38px);letter-spacing:-.03em;line-height:1.05}.service-arrow{font-size:24px;line-height:1}.service-summary{grid-column:2/3;color:#65737b;font-weight:300;margin-top:11px;font-size:15px}.service-detail{padding:30px 0 0 63px;max-width:570px}.service-detail-label{color:#57716f}.service-detail p{font-size:18px;line-height:1.5;font-weight:300;max-width:470px}.service-detail button{border:0;border-bottom:1px solid currentColor;padding:4px 0;background:none;color:#132932;font-size:15px}.service-detail button:hover{color:#608a4a}
.approach{padding:clamp(75px,9vw,150px) clamp(24px,3.2vw,65px) 80px;background:radial-gradient(ellipse at 88% 35%,#21414a,#102630 60%,#0b1c23);scroll-margin-top:20px}.approach-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:8vw}.approach-heading .section-kicker{grid-column:1/-1}.approach-heading h2{max-width:700px}.approach-heading>p:last-child{max-width:490px;color:#c4d4d4;align-self:end;font-weight:300;font-size:20px;line-height:1.4;margin-bottom:36px}.approach-steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(50px,6vw,100px);border-top:1px solid var(--line)}.approach-steps>div{padding:22px 35px 0 0;min-height:220px}.approach-steps>div+div{border-left:1px solid var(--line);padding-left:35px}.approach-steps span{color:var(--lime)}.approach-steps h3{font-size:clamp(24px,2vw,33px);margin:30px 0 12px;letter-spacing:-.025em;font-weight:500}.approach-steps p{font-size:17px;line-height:1.45;color:#b8c7c8;font-weight:300;max-width:350px}.approach-note{color:#95a7aa;letter-spacing:.03em;text-transform:none;margin:75px 0 0}.contact-section{background:#132a33;padding:clamp(75px,10vw,150px) clamp(24px,3.2vw,65px) clamp(90px,11vw,180px);min-height:620px;scroll-margin-top:0}.contact-section h2{font-weight:500;font-size:clamp(90px,14vw,240px);line-height:.76;letter-spacing:-.06em;margin:0 0 42px}.contact-section h2 span{color:var(--lime)}.contact-section>p:not(.section-kicker){font-size:clamp(18px,2vw,26px);font-weight:300;max-width:480px;margin-bottom:30px}.site-footer{background:#071820;padding:55px clamp(24px,3.2vw,65px) 45px;display:flex;justify-content:space-between;gap:35px;align-items:start}.site-footer>div{display:flex;flex-direction:column;gap:12px;color:#b7c8cb;font-size:14px}.site-footer p{margin:0 0 6px}.site-footer a:hover{color:var(--lime)}.site-footer>span{font-size:11px;color:#91a6aa;white-space:nowrap}
.inquiry-dialog{position:fixed;border:1px solid #526369;border-radius:0;background:#f0f4f5;color:#10232b;max-width:630px;width:min(630px,calc(100vw - 30px));max-height:min(92svh,1000px);padding:0;box-shadow:0 30px 100px #0009;overflow-y:auto}.inquiry-dialog::backdrop{background:rgba(3,13,18,.8);backdrop-filter:blur(9px)}.dialog-top{display:flex;justify-content:space-between;align-items:center;padding:13px 26px;border-bottom:1px solid #aab6b8}.dialog-close{border:0;background:none;font-size:35px;line-height:1}.dialog-body{padding:34px clamp(24px,4vw,60px) 48px}.dialog-body h2{font-size:clamp(48px,5vw,70px);line-height:.95;letter-spacing:-.05em;font-weight:500;margin:0 0 17px}.dialog-note{color:#50636b;font-size:15px;max-width:480px;line-height:1.45;margin-bottom:25px}.inquiry-dialog label,.inquiry-dialog legend{display:block;font-size:14px;margin:16px 0 8px}.inquiry-dialog fieldset{border:0;padding:0;margin:0}.choice-row{display:flex;gap:10px}.choice-row label{flex:1;margin:0}.choice-row input{position:absolute;opacity:0;width:1px;height:1px}.choice-row span{display:block;border:1px solid #9caeb4;padding:11px 14px;text-align:center;cursor:pointer}.choice-row input:checked+span{border-color:#426a43;background:#e0ecb8}.choice-row input:focus-visible+span{outline:2px solid #426a43;outline-offset:3px}.inquiry-dialog input:not([type="radio"]),.inquiry-dialog select,.inquiry-dialog textarea{width:100%;border:1px solid #9caeb4;background:#fff;color:#12242b;border-radius:0;padding:12px;min-height:45px}.inquiry-dialog textarea{resize:vertical}.form-columns{display:grid;grid-template-columns:1fr 1fr;gap:15px}.submit-button{width:100%;margin-top:25px}.success-view{min-height:380px;display:flex;flex-direction:column;align-items:start;justify-content:center}.success-view[hidden],.form-view[hidden]{display:none}.success-view p:not(.section-kicker){font-size:18px;line-height:1.4;max-width:420px}
@media(max-width:1080px){.scene-caption{display:none}.controls-wrap{gap:16px}.mode-status{min-width:190px;padding-left:15px}.services{gap:45px}.desktop-nav{gap:18px}}
@media(max-width:760px){.site-header{padding:14px 17px;position:absolute}.brand{font-size:17px;letter-spacing:.22em}.desktop-nav{display:none}.mobile-actions{display:flex;align-items:center;gap:9px}.mobile-cta{font-size:12px;padding:12px 10px}.mobile-cta span{margin-left:3px}.menu-toggle{width:46px;height:43px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;border:1px solid #829397;background:rgba(7,22,28,.86);border-radius:8px}.menu-toggle span{height:1px;width:21px;background:#fff}.mobile-nav{position:absolute;display:flex;flex-direction:column;gap:0;right:17px;left:17px;top:67px;background:#0b2028;border:1px solid #738a91;padding:8px 20px;box-shadow:0 20px 50px #0008}.mobile-nav[hidden]{display:none}.mobile-nav a{padding:13px 0;border-bottom:1px solid #52666a}.mobile-nav a:last-child{border:0}.scene{height:auto;min-height:0}.scene-pin{position:relative;height:auto;min-height:830px;overflow:hidden;padding:0 22px 0}.scene-imagery{height:100%;top:0}.contact-image{display:none}.house-image{opacity:1;transform:none;background-position:62% 7%;background-size:auto 72%;background-repeat:no-repeat}.scene-grid{display:none}.scene-diagram{opacity:.75;height:72%;width:auto;min-width:100%;left:50%;transform:translateX(-50%);object-fit:cover}.wire-shell,.wire-dots{opacity:.75}.scene-shade{background:linear-gradient(0deg,#081b23 0%,#081b23 17%,rgba(6,21,28,.82) 33%,rgba(6,21,28,0) 62%),linear-gradient(180deg,#071b23 0%,rgba(6,21,28,.12) 24%,transparent 60%)}.scene-copy-contact,.scene-copy-connect{display:none}.scene-copy-house{position:relative;left:auto;top:auto;transform:none;width:auto;opacity:1;visibility:visible;min-height:630px;display:flex;flex-direction:column;justify-content:flex-end;padding:0 0 13px}.scene-copy-house .eyebrow{position:absolute;top:79px;left:0;margin:0;font-size:12px;max-width:200px;line-height:1.5}.scene-copy-house h2{font-size:clamp(52px,11vw,80px);margin-bottom:12px}.scene-copy-house>p:not(.eyebrow){font-size:17px;margin:0 0 15px}.house-cta{margin:0;width:100%}.scene-bottom{position:relative;left:auto;right:auto;bottom:auto;opacity:1;visibility:visible;display:block;padding:15px 0 0;margin-top:20px}.controls-wrap{display:block}.scene-controls{min-width:0;justify-content:space-around}.scene-controls button{flex:1;padding:0 4px 12px;font-size:14px}.mode-status{border:0;min-width:0;padding:16px 0 0;text-align:center}.motion-toggle{display:block;margin:8px auto 0}.scene-progress{position:relative;bottom:auto;right:auto;justify-content:center;padding:12px 0 19px;font-size:11px}.scene-progress i{width:12px}.scene-progress span:nth-of-type(-n+2){opacity:.55}.services{display:block;padding:76px 22px 96px}.section-intro{margin-bottom:48px}.section-intro h2,.approach h2{font-size:clamp(40px,8.2vw,62px)}.section-intro>p:last-child{font-size:18px}.service-row{grid-template-columns:40px 1fr 24px;padding:22px 0}.service-name{font-size:clamp(25px,5vw,34px)}.service-detail{padding:24px 0 0 48px}.approach{padding:78px 22px 70px}.approach-heading{display:block}.approach-heading>p:last-child{margin:0;font-size:18px}.approach-steps{display:block;margin-top:55px}.approach-steps>div,.approach-steps>div+div{border-left:0;border-bottom:1px solid var(--line);padding:20px 0;min-height:0}.approach-steps h3{margin:17px 0 5px}.approach-steps p{margin:0 0 8px}.approach-note{margin-top:40px}.contact-section{padding:85px 22px 115px;min-height:0}.contact-section h2{font-size:clamp(95px,19vw,170px)}.site-footer{padding:40px 22px 45px;display:block}.site-footer>div{margin:35px 0}.site-footer>span{font-size:10px}}
@media(max-width:390px){.brand{letter-spacing:.15em;font-size:16px}.mobile-cta{font-size:11px;padding:11px 8px}.mobile-cta span{display:none}.menu-toggle{width:40px}.scene-pin{padding:0 18px;min-height:795px}.scene-copy-house{min-height:602px}.scene-copy-house h2{font-size:54px}.scene-progress{font-size:10px;gap:6px}.scene-progress i{width:10px}.form-columns{grid-template-columns:1fr;gap:0}}
@media(max-height:650px) and (min-width:761px){.scene-copy h1,.scene-copy h2{font-size:clamp(45px,4.8vw,75px)}.scene-copy-contact .eyebrow{margin-bottom:20px}.scene-copy-contact .hero-description{margin-bottom:17px}.scene-bottom{bottom:44px}.scene-progress{bottom:11px}.scene-copy{top:45%}.scene{min-height:1870px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.scene{height:auto;min-height:0}.scene-pin{position:relative;min-height:770px}.contact-image{display:none}.house-image{opacity:1;transform:none}.scene-diagram{opacity:1}.scene-copy-contact,.scene-copy-connect{display:none}.scene-copy-house{opacity:1;visibility:visible}.scene-bottom{opacity:1;visibility:visible}.scene-image,.scene-diagram{will-change:auto}.focus{transition:none}}
.contact-image{background-image:url('assets/contact.webp')}.house-image{background-image:url('assets/building.webp')}.scene-grid,.wire-shell,.wire-dots{display:none}
.scene[data-mode="laden"] .path-base,.scene[data-mode="solar"] .path-base{opacity:1}.scene[data-mode="laden"] .path-halo,.scene[data-mode="solar"] .path-halo{opacity:.28}
.scene-static{height:auto;min-height:0}.scene-static .scene-pin{position:relative;min-height:760px}.scene-static .contact-image,.scene-static .scene-copy-connect,.scene-static .scene-copy-house{display:none}.scene-static .house-image{opacity:1;transform:none}.scene-static .scene-diagram,.scene-static .scene-copy-contact,.scene-static .scene-bottom{opacity:1;visibility:visible}.scene-static .scene-copy-contact{transform:translateY(-50%)}
@media(min-width:761px) and (max-width:850px){.services{grid-template-columns:1fr;gap:30px}.section-intro>p:last-child{max-width:650px}.approach-heading{grid-template-columns:1fr}.approach-heading>p:last-child{max-width:600px}}
@media(max-width:760px){.scene-pin,.scene-static .scene-pin{min-height:0}.scene-image.house-image{background-size:auto 450px;background-position:right -40px top;opacity:1;transform:none}.scene-diagram{top:0;right:-40px;left:auto;min-width:0;width:675px;height:450px;transform:none;opacity:.92}.scene-shade{background:linear-gradient(0deg,#081b23 0%,#081b23 13%,rgba(6,21,28,.84) 33%,rgba(6,21,28,0) 63%),linear-gradient(180deg,#071b23 0%,rgba(6,21,28,.08) 20%,transparent 65%)}.scene-copy-contact,.scene-static .scene-copy-contact{display:block;position:relative;top:auto;left:auto;transform:none;width:100%;opacity:1;visibility:visible;padding-top:450px}.scene-copy-contact .eyebrow{position:absolute;top:87px;left:0;max-width:220px;margin:0}.scene-copy-contact h1{font-size:clamp(46px,9.8vw,72px);margin:0 0 14px}.scene-copy-contact .hero-description{font-size:17px;max-width:330px;margin:0 0 16px}.scene-copy-contact .hero-actions{gap:13px}.scene-copy-contact .button{width:100%}.scene-copy-contact .text-link{align-self:center}.scene-copy-house{display:none}.scene-bottom{margin-top:24px}.scene-static .scene-copy-house{display:none}.scene-static .scene-bottom{opacity:1;visibility:visible}}
@media(max-width:390px){.scene-copy-contact,.scene-static .scene-copy-contact{padding-top:420px}.scene-copy-contact h1{font-size:46px}.scene-image.house-image{background-size:auto 430px}.scene-diagram{width:645px;height:430px}.scene-copy-contact .eyebrow{top:80px}}

/* Editorial content beneath the interactive scene */
.project-scenarios{background:#0b1d25;color:#f3f8f7;padding:clamp(86px,9vw,150px) clamp(24px,3.2vw,65px) clamp(80px,8vw,135px)}
.project-intro{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:clamp(36px,7vw,110px);padding-bottom:clamp(65px,8vw,125px);align-items:end}
.project-intro .section-kicker{grid-column:1/-1;color:var(--lime);margin-bottom:0}
.project-intro h2,.audiences h2,.questions h2{font-size:clamp(48px,5.7vw,104px);font-weight:500;letter-spacing:-.055em;line-height:.94;margin:0}
.project-intro>p:last-child{font-size:clamp(18px,1.6vw,25px);font-weight:300;line-height:1.35;max-width:490px;color:#bccbcd;margin:0 0 5px}
.project-row{display:grid;grid-template-columns:minmax(170px,28%) minmax(0,1fr);gap:clamp(24px,5vw,80px);border-top:1px solid rgba(233,251,248,.43);padding:clamp(34px,5vw,78px) 0 clamp(50px,6.5vw,98px)}
.project-row:last-child{border-bottom:1px solid rgba(233,251,248,.43)}
.project-index{display:flex;align-items:start;gap:20px;color:var(--lime);font-size:12px;letter-spacing:.15em;white-space:nowrap;padding-top:12px}
.project-line{height:1px;width:clamp(28px,5vw,70px);background:rgba(213,255,112,.7);margin-top:7px}
.project-content{display:grid;grid-template-columns:minmax(240px,1fr) minmax(230px,.72fr);column-gap:clamp(30px,5.5vw,90px);align-items:start}
.project-content h3{font-size:clamp(42px,4.7vw,82px);font-weight:500;letter-spacing:-.05em;line-height:.96;margin:0;grid-row:1/4}
.project-content p{font-weight:300;color:#cad6d7;font-size:clamp(17px,1.45vw,21px);line-height:1.42;margin:0 0 28px;max-width:520px}
.project-content ul{padding:0;margin:0 0 28px;list-style:none;border-top:1px solid rgba(233,251,248,.27);font-size:14px;color:#dce7e6}
.project-content li{padding:9px 0;border-bottom:1px solid rgba(233,251,248,.27)}
.project-content li::before{content:'';display:inline-block;width:12px;height:12px;vertical-align:-1px;background:var(--lime);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19 19 5M8 5h11v11'/%3E%3C/svg%3E") center/contain no-repeat;margin-right:11px}
.project-content button,.audience-line button{justify-self:start;align-self:end;border:0;border-bottom:1px solid var(--lime);background:none;color:var(--lime);padding:5px 0;text-align:left;font-size:15px}
.project-content button:hover,.audience-line button:hover{color:#fff;border-color:#fff}
.project-content button span,.audience-line button span{margin-left:12px}
.audiences{background:#e9eff0;color:#12252c;padding:clamp(85px,9vw,150px) clamp(24px,3.2vw,65px) clamp(75px,8vw,125px)}
.audiences-lead{display:grid;grid-template-columns:1fr 1fr;gap:clamp(25px,5vw,80px);align-items:end;margin-bottom:clamp(65px,8vw,125px)}
.audiences-lead .section-kicker{grid-column:1/-1;color:#426e59;margin:0}
.audiences-lead h2{font-size:clamp(48px,5.2vw,96px)}
.audiences-lead>p:last-child{color:#4b6268;font-weight:300;font-size:clamp(19px,1.7vw,27px);max-width:430px;margin:0 0 5px}
.audience-lines{border-top:1px solid #83979b}
.audience-line{display:grid;grid-template-columns:minmax(170px,28%) minmax(0,1fr);gap:clamp(25px,5vw,80px);border-bottom:1px solid #9fb1b4;padding:clamp(33px,4vw,64px) 0}
.audience-type{font-size:13px;letter-spacing:.14em;text-transform:uppercase;padding-top:7px;color:#486e5a}
.audience-line>div{display:grid;grid-template-columns:minmax(240px,.85fr) minmax(240px,1fr);gap:20px clamp(25px,5vw,80px)}
.audience-line h3{font-size:clamp(30px,3.3vw,58px);letter-spacing:-.045em;line-height:1.02;font-weight:500;margin:0;grid-row:1/3}
.audience-line p{font-weight:300;font-size:18px;line-height:1.45;color:#50636a;max-width:480px;margin:0}
.audience-line button{color:#183c37;border-color:#183c37}
.audience-line button:hover{color:#597f3c;border-color:#597f3c}
.questions{background:#f0f4f5;color:#11242c;padding:clamp(85px,9vw,150px) clamp(24px,3.2vw,65px) clamp(90px,9vw,150px);display:grid;grid-template-columns:minmax(290px,.75fr) minmax(0,1.25fr);gap:clamp(50px,8vw,130px)}
.questions-intro{position:sticky;top:45px;align-self:start}
.questions-intro .section-kicker{color:#426e59}
.questions h2{font-size:clamp(48px,5vw,86px)}
.questions-intro>p:last-child{font-weight:300;color:#546a70;max-width:390px;font-size:19px;line-height:1.4;margin-top:27px}
.question-list{border-top:1px solid #91a4a8}
.question-list details{border-bottom:1px solid #acbdc0}
.question-list summary{list-style:none;display:grid;grid-template-columns:42px 1fr 24px;gap:12px;align-items:center;padding:24px 0;cursor:pointer;font-size:clamp(20px,2vw,31px);letter-spacing:-.03em;line-height:1.13}
.question-list summary::-webkit-details-marker{display:none}
.question-list summary>span:first-child{font-size:12px;letter-spacing:.1em;color:#547265;align-self:start;padding-top:6px}
.question-icon{width:20px;height:20px;position:relative}
.question-icon::before,.question-icon::after{content:'';position:absolute;background:#1d443e;top:9px;left:1px;width:18px;height:1px;transition:transform .25s ease}
.question-icon::after{transform:rotate(90deg)}
.question-list details[open] .question-icon::after{transform:rotate(0)}
.question-list details[open] summary{color:#356e4e}
.question-list details p{font-weight:300;font-size:18px;line-height:1.5;color:#53686e;max-width:640px;margin:0 35px 29px 54px}
@media(max-width:1100px){.project-row,.audience-line{grid-template-columns:145px minmax(0,1fr);gap:24px}.project-content,.audience-line>div{grid-template-columns:1fr 1fr;gap:25px}.project-content h3{font-size:clamp(37px,4.4vw,58px)}.audience-line h3{font-size:clamp(28px,3.3vw,44px)}.questions{grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:35px}}
@media(max-width:800px){.project-intro,.audiences-lead{grid-template-columns:1fr;gap:25px}.project-intro .section-kicker,.audiences-lead .section-kicker{grid-column:auto}.project-intro>p:last-child,.audiences-lead>p:last-child{max-width:650px}.project-row,.audience-line{grid-template-columns:1fr;gap:25px}.project-content,.audience-line>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.questions{grid-template-columns:1fr;gap:55px}.questions-intro{position:static}}
@media(max-width:600px){.project-scenarios,.audiences,.questions{padding-left:22px;padding-right:22px}.project-intro{padding-bottom:70px}.project-intro h2,.audiences h2,.questions h2{font-size:clamp(47px,11vw,66px)}.project-row{padding:30px 0 55px}.project-index{padding:0}.project-content,.audience-line>div{grid-template-columns:1fr;gap:0}.project-content h3,.audience-line h3{grid-row:auto;font-size:clamp(42px,10.8vw,60px);margin:0 0 26px}.project-content p{margin-bottom:24px}.project-content ul{margin-bottom:22px}.audiences-lead{margin-bottom:65px}.audience-line{padding:33px 0 42px}.audience-line h3{font-size:clamp(34px,9vw,52px)}.audience-line p{font-size:17px;margin-bottom:22px}.questions{gap:35px}.question-list summary{grid-template-columns:28px 1fr 19px;gap:9px;padding:19px 0;font-size:21px}.question-list details p{margin-left:37px;margin-right:5px;font-size:16px}.question-icon{width:18px}}
@media(prefers-reduced-motion:reduce){.question-icon::before,.question-icon::after{transition:none}}
@media(max-width:760px){.mobile-nav{max-height:calc(100svh - 82px);overflow-y:auto}}

/* Project imagery follows the editorial rhythm rather than a card grid. */
.project-visual{margin:0;overflow:hidden;background:#182d34;position:relative}
.project-visual img{display:block;width:100%;height:100%;object-fit:cover}
.installation-visual{grid-column:1/-1;aspect-ratio:2.3;margin-top:clamp(4px,2vw,28px)}
.installation-visual img{object-position:center 54%}
.project-row--light .project-content,.project-row--charge .project-content{column-gap:clamp(34px,5.5vw,95px);row-gap:20px;align-items:start}
.project-row--light .project-content{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-areas:'title copy' 'image points' 'image cta'}
.project-row--charge .project-content{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);grid-template-areas:'copy title' 'points image' 'cta image'}
.project-row--light h3,.project-row--charge h3{grid-area:title;grid-row:auto}
.project-row--light .project-visual,.project-row--charge .project-visual{grid-area:image;aspect-ratio:1.25;align-self:stretch;min-height:290px}
.project-row--light p,.project-row--charge p{grid-area:copy;margin:0}
.project-row--light ul,.project-row--charge ul{grid-area:points;margin:0}
.project-row--light button,.project-row--charge button{grid-area:cta;margin-top:3px}
.light-visual img{object-position:28% center}.charge-visual img{object-position:28% center}
@media(max-width:900px){.installation-visual{aspect-ratio:1.8}.project-row--light .project-content,.project-row--charge .project-content{column-gap:28px}.project-row--light .project-visual,.project-row--charge .project-visual{min-height:240px}}
@media(max-width:600px){.installation-visual{aspect-ratio:1.18;margin-top:4px}.project-row--light .project-content,.project-row--charge .project-content{grid-template-columns:1fr;grid-template-areas:'title' 'image' 'copy' 'points' 'cta';gap:0}.project-row--light h3,.project-row--charge h3{margin-bottom:25px}.project-row--light .project-visual,.project-row--charge .project-visual{aspect-ratio:1.22;min-height:0;margin-bottom:25px}.project-row--light p,.project-row--charge p{margin-bottom:24px}.project-row--light ul,.project-row--charge ul{margin-bottom:20px}}

/* The desktop film takes over the same sticky scene without moving the HTML controls. */
.film-canvas{position:absolute;inset:0;width:100%;height:100%;visibility:hidden;pointer-events:none}
.scene-film .film-canvas{visibility:visible}
.scene-film .contact-image,.scene-film .house-image{visibility:hidden}
.scene-film .scene-diagram{opacity:0;transform:none;transition:opacity .38s ease}
.scene-film.film-at-end .scene-diagram{opacity:1}
.scene:not(.scene-static):not(.scene-film) .house-image{background-image:url('assets/film-end.webp')}
.scene:not(.scene-static) .contact-image{transform:none}
.film-motion-toggle{display:none}
.scene-film .film-motion-toggle{display:block;position:absolute;z-index:7;left:clamp(24px,3.2vw,65px);bottom:15px;border:0;background:rgba(7,24,31,.55);color:#d7e2e2;padding:5px 7px 5px 0;font-size:12px;backdrop-filter:blur(8px)}
.scene-film .film-motion-toggle:hover{color:var(--lime)}
.scene-film .film-motion-toggle{left:auto;right:clamp(24px,3.2vw,65px);bottom:46px}
.scene-film .scene-bottom .motion-toggle{display:none}
/* Phones: the film runs in the same box as the static house image and the diagram. */
@media(max-width:760px){.film-motion-toggle{display:none!important}.film-canvas{display:none}.scene-film-mobil .film-canvas{display:block;inset:0 -40px auto auto;width:675px;height:450px}.scene-film-mobil .scene-bottom .motion-toggle{display:block}}
@media(max-width:390px){.scene-film-mobil .film-canvas{width:645px;height:430px}}
@media(prefers-reduced-motion:reduce){.film-canvas,.film-motion-toggle{display:none!important}.scene-film .scene-diagram{transition:none}}

/* Quiet architectural annotations; the photograph remains the focal point. */
.scene-diagram{filter:none}
.system-marker{opacity:0;visibility:hidden;transition:opacity .4s ease,visibility .4s;stroke:none;fill:none}
.scene[data-mode="licht"] .marker-licht,.scene[data-mode="laden"] .marker-laden,.scene[data-mode="solar"] .marker-solar{opacity:1;visibility:visible}
.marker-ring,.marker-bracket{stroke:#d9edbb;stroke-width:1;vector-effect:non-scaling-stroke;fill:none}
.marker-point{fill:#d4ff70;stroke:none}
.marker-leader{stroke:rgba(235,244,231,.65);stroke-width:.8;vector-effect:non-scaling-stroke;fill:none}
.marker-secondary{opacity:.6}
.marker-index,.marker-label{stroke:none;fill:#edf3ec;font-family:inherit;paint-order:stroke;stroke:rgba(8,25,32,.45);stroke-width:2px;stroke-linejoin:round}
.marker-index{font-size:10px;letter-spacing:2px;fill:#bdcdc5;font-weight:500}
.marker-label{font-size:19px;letter-spacing:-.3px;font-weight:500}
.scene-bottom{gap:36px;padding-top:22px;border-color:rgba(231,239,234,.22);align-items:center}
.scene-caption{font-size:10px;letter-spacing:.15em;color:#afbfbb;line-height:1.5;margin:0}
.scene-caption-sub{display:block;text-transform:none;letter-spacing:0;font-size:12px;color:#ecf0eb;margin-top:5px}
.controls-wrap{gap:30px;align-items:center}
.scene-controls{border:1px solid rgba(228,238,232,.2);border-radius:6px;background:rgba(5,20,27,.58);padding:4px;min-width:330px;backdrop-filter:blur(14px);gap:3px}
.scene-controls button{position:relative;display:flex;align-items:center;justify-content:center;gap:12px;min-height:48px;padding:10px 17px;border:0;border-radius:3px;color:#abb9b4;background:transparent;font-size:14px;transition:background .25s,color .25s}
.scene-controls button::after{display:none}
.scene-controls button[aria-pressed="true"]{background:rgba(221,239,215,.09);color:#f0f5ed;border:0;box-shadow:inset 0 0 0 1px rgba(221,239,215,.13)}
.scene-controls button:hover{background:rgba(221,239,215,.07);color:#fff}
.control-index{font-size:10px;color:#80968e;letter-spacing:.05em}
.control-dot{width:4px;height:4px;border-radius:50%;background:currentColor;opacity:0}
.scene-controls button[aria-pressed="true"] .control-dot{color:var(--lime);opacity:1}
.mode-status{border:0;padding:0;min-width:0;color:#d2dcd6;font-size:13px;line-height:1.5;font-weight:400;max-width:245px;text-align:left}
.status-symbol{display:none}
@media(min-width:761px) and (max-width:1100px){.scene-bottom{gap:22px}.scene-caption{display:none}.controls-wrap{justify-content:space-between}.mode-status{max-width:260px}}
@media(max-width:760px){.scene-bottom{padding-top:20px;gap:0}.scene-caption{display:none}.controls-wrap{gap:16px}.scene-controls{min-width:0;width:100%;padding:4px;gap:2px}.scene-controls button{gap:9px;min-height:48px;padding:10px 8px;flex:1}.mode-status{text-align:center;max-width:none;padding:0;min-height:20px;margin:14px 0 0}.motion-toggle{font-size:11px;color:#a9bbb3;margin-top:16px}.marker-label,.marker-index,.marker-leader{display:none}.marker-ring,.marker-bracket{stroke-width:1}.marker-point{opacity:.85}}
@media(prefers-reduced-motion:reduce){.system-marker,.scene-controls button{transition:none}}

/* Energy routes: fine conductive lines with one short travelling impulse. */
.energy-track,.energy-aura,.energy-flow,.energy-terminal,.charge-outline,.solar-edge{fill:none;stroke-linecap:round;stroke-linejoin:round}
.energy-track{stroke:#c6df96;stroke-width:1.35;opacity:.68}
.energy-aura{stroke:#c9f38e;stroke-width:5;opacity:.19;filter:url(#energy-soft)}
.energy-flow{stroke:#f0ffd4;stroke-width:2.4;stroke-dasharray:65 1065;stroke-dashoffset:75;opacity:0}
.energy-terminal{stroke:#ecffd0;stroke-width:1.7;opacity:.95}
.light-spill{fill:url(#light-spill);mix-blend-mode:screen}
.charge-outline{stroke:#d4eead;stroke-width:.9;opacity:.5}
.charge-indicator{stroke-width:2.2}
.solar-surface{fill:url(#solar-wash);stroke:none}
.solar-edge{stroke:#d8ecb4;stroke-width:.8;opacity:.55}
@media(max-width:760px){.energy-track{stroke-width:1.8;opacity:.85}.energy-aura{opacity:.12}.energy-flow{stroke-width:3}.energy-terminal{stroke-width:2.2}}
/* Pfeile als SVG statt Zeichen „↗“ (iPhone zeigt das Zeichen als Emoji), 21.09. */
.sw-pfeil{display:inline-block;width:.8em;height:.8em;vertical-align:-.05em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.service-arrow .sw-pfeil{width:22px;height:22px}

/* No control bar: after the film the three systems follow each other while scrolling (MOBB 22.09.). */
.system-now{margin:18px 0 0;color:var(--lime);font-size:15px;letter-spacing:.01em;min-height:1.3em}
.scene-copy-contact .system-now{display:none}
.scene-static .system-marker{opacity:1;visibility:visible}
.scene-static .system-now{display:none}
@media(max-width:760px){.scene-film-mobil .scene-copy-contact .system-now{display:block;margin:0 0 16px;font-size:14px}.scene-film-mobil .scene-copy-contact{padding-bottom:28px}}
.scene-film:not(.film-at-end) .system-now{visibility:hidden}
