/* V3 · Bauplan in Bewegung. Identity stays tactile; motion exposes the installation. */
.hero-overdrive{--spread:1;--blueprint-progress:1;--motion-distance:0px}
.hero-overdrive .hero-heading{padding-top:45px;padding-bottom:40px;align-items:flex-end;gap:40px}
.hero-overdrive h1{font-size:clamp(56px,7.3vw,104px);letter-spacing:-.025em;line-height:.97;max-width:none;font-weight:600}
.hero-title-line{display:block;white-space:nowrap;transform:translateY(var(--motion-distance));will-change:auto}
.hero-title-line:nth-child(2){margin-top:.06em}
.hero-word{position:relative;display:inline-block}
.hero-word-network{color:var(--color-plan-network,#627f82)}
.hero-word-network:after{content:"";position:absolute;left:0;right:0;bottom:-.035em;height:2px;background:currentColor;transform-origin:left;transform:scaleX(calc(.3 + var(--blueprint-progress) * .7));opacity:.55}
.hero-overdrive .hero-intro{max-width:32ch;padding-bottom:5px}
.hero-overdrive .blueprint-scroll{position:relative}
.hero-overdrive .plan-hero{margin:0;isolation:isolate;background:#eae6da;padding:16px 4.2vw 25px;display:flex;flex-direction:column;border-top:1px solid #d8d5c9;border-bottom:1px solid #d8d5c9;overflow:clip}
.hero-overdrive .plan-toolbar{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:16px;min-height:45px}
.hero-overdrive .plan-title{margin-right:auto;font-size:13px;color:#3b4834}
.hero-overdrive .plan-controls{gap:3px}
.hero-overdrive .plan-controls button{padding:8px 12px}
.motion-toggle{padding:9px 12px;border:1px solid #aaa995;color:#384431;font-size:11px;min-width:94px;white-space:nowrap}
.motion-toggle[hidden]{display:none}.motion-toggle:hover,.motion-toggle[aria-pressed=true]{background:#384431;color:#f2eee5}
.motion-toggle:focus-visible,.plan-controls button:focus-visible{outline:2px solid #627f82;outline-offset:3px}
.blueprint-progress{height:1px;background:#d2d0bf;margin-top:13px;overflow:hidden}
.blueprint-progress>span{display:block;width:100%;height:100%;background:#b66c43;transform:scaleX(var(--blueprint-progress));transform-origin:left}
.hero-overdrive .plan-canvas{flex:1;min-height:0;width:100%;max-width:1120px;margin:0 auto;display:flex;align-items:center;justify-content:center}
.hero-overdrive .plan-canvas>svg{width:100%;height:auto;max-height:570px;aspect-ratio:900/670;overflow:visible}
.house-layer{transform:translateY(calc(var(--spread) * var(--layer-y)));transform-box:view-box}
.layer-roof{opacity:calc(.85 - var(--spread) * .53)}
.layer-guides{opacity:calc(.03 + var(--spread) * .2)}
.layer-labels{opacity:calc(.12 + var(--spread) * .88)}
.wire-track{opacity:.8}
.wire-flow{stroke:#f0c09a;stroke-width:3.5;stroke-dasharray:9 135;stroke-dashoffset:144;opacity:0}
.circuit-network .wire-flow{stroke:#aacbd0;stroke-dasharray:6 107;stroke-dashoffset:113}
.hero-overdrive.is-motion-visible:not(.is-still) .wire-flow{opacity:1;animation:wire-current 3.4s linear infinite}
.hero-overdrive.is-motion-visible:not(.is-still) .circuit-network .wire-flow{animation-duration:4.4s;animation-direction:reverse}
.hero-overdrive .plan-hero figcaption{flex-shrink:0;gap:25px;align-items:flex-end}
.hero-overdrive .plan-caption{width:auto!important;font-size:19px;line-height:1.3}
.scroll-instruction{display:block;font-size:11px;font-family:Manrope,Arial,sans-serif;font-weight:400;letter-spacing:0;color:#6b715e;margin-top:9px}
.scroll-instruction>span{display:inline-block;margin-left:7px;color:#b66c43}
.hero-overdrive .plan-hero .image-cta{margin:0;padding:15px 20px;gap:35px;font-size:13px}
.hero-overdrive.motion-ready:not(.is-still) .blueprint-scroll{height:160vh;min-height:1000px}
.hero-overdrive.motion-ready:not(.is-still) .plan-hero{position:sticky;top:0;height:100svh;max-height:760px;min-height:560px}
.hero-overdrive.is-still .blueprint-progress,.hero-overdrive:not(.motion-ready) .blueprint-progress{visibility:hidden}
.hero-overdrive.is-still .scroll-instruction,.hero-overdrive:not(.motion-ready) .scroll-instruction{display:none}
.hero-overdrive.is-still .plan-hero{position:static;height:auto}
@keyframes wire-current{to{stroke-dashoffset:0}}
@media(min-width:1600px){.hero-overdrive h1{font-size:104px}.hero-overdrive .hero-heading{padding-top:60px;padding-bottom:50px}}
@media(max-width:1000px){.hero-overdrive h1{font-size:clamp(55px,7.6vw,76px)}.hero-overdrive .hero-heading{gap:24px}.hero-overdrive .hero-intro{font-size:12px}}
@media(max-width:700px){
 .hero-overdrive .hero-heading{padding:29px 6vw 29px;display:block}
 .hero-overdrive h1{font-size:clamp(37px,10.9vw,75px);line-height:1.04;letter-spacing:-.025em}
 .hero-overdrive .hero-intro{font-size:12px;margin-top:21px;max-width:none}
 .hero-overdrive .hero-intro .text-link{margin-top:15px}
 .hero-overdrive .plan-hero{padding:17px 6vw 20px}
 .hero-overdrive .plan-toolbar{gap:9px;min-height:0}
 .hero-overdrive .plan-title{font-size:12px;width:100%;margin-bottom:2px}
 .hero-overdrive .plan-controls{margin:0;gap:0}
 .hero-overdrive .plan-controls button{font-size:10px;padding:8px 9px;gap:5px}
 .motion-toggle{margin-left:auto;font-size:10px;padding:8px 9px;min-width:77px}
 .hero-overdrive .plan-canvas{margin:4px 0;flex:1}
 .hero-overdrive .plan-canvas>svg{aspect-ratio:620/670;min-height:0;max-height:420px}
 .hero-overdrive .plan-hero figcaption{display:flex;align-items:center;gap:15px}
 .hero-overdrive .plan-caption{font-size:15px;max-width:55%}
 .hero-overdrive .plan-hero .image-cta{font-size:11px;padding:13px 12px;gap:14px;min-height:45px;max-width:44%}
 .hero-overdrive .image-cta svg{width:16px;height:16px;flex:none}
 .scroll-instruction{font-size:10px;line-height:1.5;margin-top:5px}
 .hero-overdrive.motion-ready:not(.is-still) .blueprint-scroll{height:135svh;min-height:800px}
 .hero-overdrive.motion-ready:not(.is-still) .plan-hero{height:90svh;max-height:660px;min-height:500px}
 .hero-overdrive .layer-labels{display:none}
}
@media(max-width:360px){.hero-overdrive h1{font-size:10.8vw}.motion-toggle{min-width:70px;padding:8px 6px}.hero-overdrive .plan-controls button{padding:8px 7px}}
@media(prefers-reduced-motion:reduce){.hero-overdrive .wire-flow{animation:none!important;opacity:0!important}.hero-overdrive .hero-title-line{transform:none}.hero-overdrive .house-layer{transition:none}.hero-word-network:after{transform:scaleX(1)}}
/* A brief, fully legible typographic settling gesture, then the architecture takes over. */
@media(prefers-reduced-motion:no-preference){
 .hero-overdrive .hero-word{animation:letter-settle 950ms cubic-bezier(.16,1,.3,1) both;transform-origin:left bottom}
 .hero-overdrive .hero-word-network{animation-delay:110ms}
 @keyframes letter-settle{from{transform:translateY(12px) skewY(1.25deg);letter-spacing:.005em}to{transform:translateY(0) skewY(0);letter-spacing:inherit}}
}
/* Combined critique correction: compact opening, a genuinely lifted roof, and visible controls. */
.hero-overdrive .hero-heading{padding-top:30px;padding-bottom:28px}
.hero-overdrive .plan-scroll-cue{margin:10px 0 0;font-size:11px;line-height:1.4;color:#59604e}
.plan-scroll-cue span{display:inline-block;margin-left:8px;color:#a05c37}
.hero-overdrive .blueprint-progress{margin-top:9px}
.hero-overdrive .plan-canvas{flex:initial;height:clamp(340px,52vh,480px)}
.hero-overdrive .plan-canvas>svg{width:100%;height:100%;max-height:none;aspect-ratio:auto;overflow:visible}
.hero-overdrive.motion-ready:not(.is-still) .plan-hero{height:auto;max-height:none;min-height:0}
.hero-overdrive .layer-roof,.hero-overdrive .layer-label-roof{transform:translate(calc(var(--spread) * 120px),calc(var(--spread) * -190px))}
.hero-overdrive .layer-roof{opacity:calc(.8 - var(--spread) * .12)}
.hero-overdrive .layer-labels path{fill:none}
.hero-overdrive.is-still .plan-scroll-cue,.hero-overdrive:not(.motion-ready) .plan-scroll-cue{display:none}
.hero-overdrive .scroll-instruction{display:none}
@media(prefers-reduced-motion:no-preference){
 .hero-overdrive .hero-word{animation:blueprint-typeset 1350ms cubic-bezier(.16,1,.3,1) both}
 .hero-overdrive .hero-word-network{animation-delay:140ms}
 @keyframes blueprint-typeset{0%{transform:translate(22px,24px) skewY(2deg);letter-spacing:.02em;text-shadow:-7px -7px 0 #b66c4330}55%{text-shadow:-2px -2px 0 #b66c4320}100%{transform:translate(0,0) skewY(0);letter-spacing:inherit;text-shadow:0 0 0 transparent}}
}
@media(max-width:700px){
 .hero-overdrive .hero-heading{padding-top:23px;padding-bottom:25px}
 .hero-overdrive .plan-controls button,.hero-overdrive .motion-toggle{min-height:44px}
 .hero-overdrive .plan-canvas{height:clamp(270px,43svh,365px);min-height:0}
 .hero-overdrive .plan-canvas>svg{height:100%;max-height:none;aspect-ratio:auto}
 .hero-overdrive .plan-scroll-cue{font-size:10px;margin-top:7px}
 .hero-overdrive .plan-hero figcaption{padding-top:6px}
 .hero-overdrive .plan-caption{font-size:14px}
 .hero-overdrive.motion-ready:not(.is-still) .blueprint-scroll{height:125svh;min-height:710px}
 .hero-overdrive .hero-word{max-width:100%}
}
@media(max-width:360px){
 .hero-overdrive .hero-word{animation-name:blueprint-typeset-compact}
 @keyframes blueprint-typeset-compact{from{transform:translateY(18px) skewY(1.6deg);text-shadow:-4px -4px 0 #b66c4330}to{transform:none;text-shadow:0 0 0 transparent}}
}
/* Larger, explorable diagram: the house connects directly to the matching service. */
.hero-overdrive .plan-canvas{height:clamp(350px,calc(100svh - 220px),760px);max-width:1480px}
.hero-overdrive .plan-canvas>svg{overflow:hidden}
.hero-overdrive .plan-hero figcaption{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;align-items:center}
.hero-overdrive .plan-caption{max-width:none;width:auto!important;min-height:28px}
.house-services{position:static;inset:auto;width:auto;margin:0;padding:0;border:0;background:transparent;grid-column:1/-1;display:flex;flex-wrap:wrap;gap:2px 28px;align-items:center}
.house-services a{display:inline-flex;align-items:center;gap:12px;min-height:44px;padding:6px 0;color:var(--color-dark);font-size:13px;text-decoration:none;border-bottom:1px solid transparent;transition:color 150ms ease-out,border-color 150ms ease-out}
.house-services a::after{content:none}
.house-services a>svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.5}
.house-services a:hover,.house-services a.is-highlighted{color:var(--color-accent);border-bottom-color:currentColor}
.house-services a[data-house-key=network]:hover,.house-services a[data-house-key=network].is-highlighted{color:#476c70}
.house-services a:focus-visible,.house-part-link:focus-visible{outline:2px solid var(--color-dark);outline-offset:4px}
.house-part-link{cursor:pointer;outline:none}
.house-hit{pointer-events:stroke}
rect.house-hit{pointer-events:all}
#house-plan .house-feature{transition:opacity 180ms ease-out}
#house-plan[data-highlight] .house-feature{opacity:.22}
#house-plan[data-highlight=solar] .house-feature[data-house-key=solar],#house-plan[data-highlight=electric] .house-feature[data-house-key=electric],#house-plan[data-highlight=network] .house-feature[data-house-key=network],#house-plan[data-highlight=wallbox] .house-feature[data-house-key=wallbox]{opacity:1}
#house-plan[data-highlight=solar] .layer-roof{opacity:1}
#house-plan .house-feature.is-highlighted .wire-track{stroke-width:3.2;opacity:1}
#house-plan .roof-photovoltaics.is-highlighted path[fill="#526564"]{fill:#365c5e;stroke:#263e34;stroke-width:1.8}
#house-plan .exterior-charging.is-highlighted .wallbox>path[fill="#f4f0e6"]{fill:#fffaf0;stroke:#995132;stroke-width:2}
.service-list details[id]{scroll-margin-top:24px}
@media(max-width:700px){
 .hero-overdrive .plan-canvas{height:clamp(320px,54svh,480px);width:calc(100% + 12vw);margin:8px -6vw 0}
 .hero-overdrive .plan-hero figcaption{gap:7px 12px}
 .hero-overdrive .plan-caption{font-size:12px;line-height:1.45;min-height:35px}
 .hero-overdrive .plan-hero .image-cta{max-width:none;font-size:11px;gap:12px}
 .house-services{display:none}
}
@media(prefers-reduced-motion:reduce){.house-services a,#house-plan .house-feature{transition:none}}

.service-list summary:focus-visible{outline:2px solid var(--color-dark);outline-offset:5px}
