@font-face { font-family:"Geist"; src:url("fonts/Geist-Variable.woff2") format("woff2"); font-style:normal; font-weight:100 900; font-display:swap; }
:root { --font-geist-sans:"Geist"; --cyan:#61c3d0; --green:#00823a; --ink:#151515; --muted:#687477; --line:#d8e0e2; --paper:#fff; --charcoal:#202020; --preview-cyan:#61c3d0; --preview-green:#00823a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; background:#f4f6f6; }
body { margin:0; color:var(--ink); font-family:"Geist",Arial,Helvetica,sans-serif; }
body.kuhlmann-site,body.kuhlmann-site button,body.kuhlmann-site input,body.kuhlmann-site select,body.kuhlmann-site textarea { font-family:"Geist",Arial,Helvetica,sans-serif; }
button,input,select { font:inherit; }
button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:3px solid rgba(97,195,208,.45); outline-offset:2px; }
.topbar { min-height:118px; padding:12px 4.2vw; display:flex; align-items:center; justify-content:space-between; gap:30px; background:#202020; border-bottom:1px solid #343434; overflow:visible; }
.topbar img { display:block; width:230px; height:auto; object-fit:contain; object-position:left center; }
.site-header { position:relative; z-index:50; }
.brand-link { display:block; flex:none; }
.topbar nav { display:flex; align-items:center; gap:27px; color:white; font-size:14px; font-weight:750; }
.topbar nav a { position:relative; padding:11px 0; color:#e9eded; text-decoration:none; white-space:nowrap; transition:color .2s ease; }
.topbar nav a:hover,.topbar nav a.active { color:var(--cyan); }
.topbar nav a:not(.nav-cta).active::after { content:""; position:absolute; right:0; bottom:4px; left:0; height:2px; border-radius:2px; background:var(--cyan); }
.topbar nav .nav-cta { padding:13px 18px; border-radius:5px; color:#101414; background:var(--cyan); }
.topbar nav .nav-cta:hover,.topbar nav .nav-cta.active { color:#101414; background:#79d4df; }
.mobile-navigation { display:none; position:relative; }
.mobile-navigation summary { display:flex; align-items:center; gap:10px; min-height:46px; padding:0 14px; border:1px solid #4c5556; border-radius:5px; color:white; background:#2b2f30; font-size:13px; font-weight:800; cursor:pointer; list-style:none; }
.mobile-navigation summary::-webkit-details-marker { display:none; }
.mobile-navigation summary span { color:var(--cyan); font-size:20px; }
.mobile-navigation nav { position:absolute; top:55px; right:0; display:flex; align-items:stretch; flex-direction:column; width:min(310px,82vw); gap:2px; padding:12px; border:1px solid #444c4e; border-radius:7px; background:#202525; box-shadow:0 18px 40px rgba(0,0,0,.28); }
.mobile-navigation nav a { padding:13px 12px; border-radius:4px; }
.mobile-navigation nav a:not(.nav-cta).active::after { display:none; }
.mobile-navigation nav .nav-cta { margin-top:5px; text-align:center; }
.hero { min-height:calc(100vh - 160px); padding:45px 5vw 70px; display:grid; grid-template-columns:minmax(310px,.78fr) minmax(610px,1.22fr); gap:4vw; align-items:start; background:linear-gradient(90deg,rgba(255,255,255,.95) 0%,rgba(255,255,255,.81) 45%,rgba(245,248,248,.97) 100%),url('klima-raum.jpg') left center/52% 100% no-repeat; }
.hero-copy { position:sticky; top:30px; padding-top:50px; max-width:580px; }
.eyebrow,.step-label { margin:0 0 15px; color:var(--cyan); font-size:14px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
h1 { margin:0; font-size:clamp(48px,4.5vw,75px); line-height:.99; letter-spacing:-.045em; font-weight:900; }
.hero-copy>p { max-width:525px; margin:28px 0; font-size:21px; line-height:1.5; }
.trust { display:flex; flex-wrap:wrap; gap:20px; color:var(--green); font-weight:700; }
.wizard { background:rgba(255,255,255,.98); border-top:8px solid var(--cyan); border-radius:8px; box-shadow:0 20px 55px rgba(26,48,54,.15); padding:30px 40px 36px; min-height:690px; }
.progress { display:grid; grid-template-columns:repeat(8,1fr); align-items:center; margin-bottom:22px; }
.progress span { position:relative; z-index:1; display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:#e8eded; color:#8e9a9d; font-size:13px; font-weight:800; }
.progress span:not(:last-child)::after { content:""; position:absolute; z-index:-1; left:28px; width:calc((100% + 42px)); height:3px; background:#e8eded; }
.progress span.active { background:var(--cyan); color:white; }
.progress span.active:not(:last-child)::after { background:var(--cyan); }
.panel h2 { margin:0; font-size:30px; line-height:1.16; letter-spacing:-.025em; }
.muted { color:var(--muted); line-height:1.5; }
.primary,.secondary { min-height:50px; padding:0 23px; border:0; border-radius:5px; font-weight:800; cursor:pointer; }
.primary { color:#101010; background:var(--cyan); }
.primary:hover { filter:brightness(.94); }
.secondary { color:#273235; background:#edf2f2; }
.full { width:100%; margin-top:18px; }
.nav-buttons { display:flex; justify-content:space-between; gap:14px; margin-top:25px; }
.nav-buttons .primary { flex:1; }
label { position:relative; display:flex; flex-direction:column; gap:7px; color:#4b5557; font-size:13px; font-weight:700; }
input,select { width:100%; height:48px; padding:0 13px; border:1px solid #cbd5d7; border-radius:5px; background:white; color:#222; }
label b { position:absolute; right:13px; bottom:15px; color:#738083; }
.room-card,.condition-card { margin-top:14px; padding:15px; border:1px solid var(--line); border-radius:7px; background:#fbfcfc; }
.room-number { margin-bottom:10px; color:var(--green); font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.room-basics { display:grid; grid-template-columns:1.35fr .65fr; gap:12px; }
.room-actions { display:flex; justify-content:space-between; gap:12px; margin:12px 0 15px; }
.text-button { padding:3px 0; border:0; color:var(--green); background:transparent; font-weight:800; cursor:pointer; }
.text-button:disabled { color:#aeb7b9; cursor:not-allowed; }
.text-button.danger { color:#8d5050; }
.tip,.alert,.notice { padding:13px 15px; border-left:4px solid var(--cyan); background:#f0f7f7; color:#475153; font-size:12px; line-height:1.5; }
.alert { margin:14px 0; border-color:#d5a031; background:#fff8e8; color:#624c20; }
.condition-card { display:grid; grid-template-columns:1.1fr 1fr 1fr 1fr; gap:11px; align-items:end; }
.condition-card>div { align-self:center; }
.condition-card>div strong,.condition-card>div small { display:block; }
.condition-card>div small { margin-top:4px; color:var(--muted); }
.condition-card em { grid-column:1/-1; color:var(--green); font-size:12px; font-style:normal; font-weight:800; }
.roof-question { align-self:end; }
.roof-question>b { display:block; margin-bottom:7px; color:#4b5557; font-size:13px; }
.roof-question>div { display:grid; grid-template-columns:1fr 1fr; gap:6px; }
.mini-choice { min-height:48px; border:2px solid var(--line); border-radius:6px; background:white; color:#495456; font-weight:800; cursor:pointer; }
.mini-choice.selected { border-color:var(--green); background:#edf8f2; color:var(--green); box-shadow:inset 0 0 0 1px var(--green); }
.selection-confirmation { grid-column:1/-1; padding:10px 12px; border-radius:5px; background:#edf8f2; color:var(--green); font-size:12px; font-weight:800; }
.wall-device-promo { position:relative; display:grid; grid-template-columns:82px 1fr auto; gap:9px 17px; align-items:center; width:100%; margin:18px 0 15px; padding:24px 21px 19px; border:3px solid var(--cyan); border-radius:10px; color:var(--ink); background:linear-gradient(135deg,#f5fcfd,#fff); text-align:left; cursor:pointer; box-shadow:0 8px 24px rgba(97,195,208,.12); }
.wall-device-promo:hover,.wall-device-promo.selected { border-color:var(--green); background:linear-gradient(135deg,#effaf4,#fff); box-shadow:0 8px 24px rgba(0,130,58,.14); }
.wall-recommendation { position:absolute; top:-11px; left:18px; padding:4px 10px; border-radius:20px; color:white; background:var(--green); font-size:9px; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.wall-device-icon { grid-row:1/3; display:block; width:82px; height:35px; border:3px solid #dce2e3; border-radius:6px; background:linear-gradient(#fff,#f4f5f5); box-shadow:0 7px 10px #b7c0c255; }
.wall-device-icon i { display:block; width:51px; height:4px; margin:23px auto 0; border-radius:5px; background:var(--cyan); }
.wall-device-copy strong,.wall-device-copy small { display:block; }
.wall-device-copy strong { font-size:20px; }
.wall-device-copy small { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.4; }
.wall-device-promo>b { grid-column:3; grid-row:1/3; align-self:center; color:var(--green); font-size:12px; white-space:nowrap; }
.wall-benefits { grid-column:2; display:flex; flex-wrap:wrap; gap:7px 14px; }
.wall-benefits i { color:#3f5a4b; font-size:10px; font-style:normal; font-weight:800; }
.alternative-device-block { margin-top:18px; padding:17px; border:1px solid var(--line); border-radius:9px; background:#f8fafa; }
.alternative-device-block h3 { margin:0; font-size:17px; }
.alternative-device-block>p { margin:5px 0 13px; color:var(--muted); font-size:11px; line-height:1.48; }
.alternative-device-grid { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.alternative-device-grid .choice { min-height:78px; background:#fff; }
.step-section-heading { margin:28px 0 8px; padding-top:23px; border-top:2px solid var(--line); }
.step-section-heading span { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.step-section-heading h3 { margin:5px 0 0; font-size:27px; line-height:1.2; letter-spacing:-.025em; }
.consultation-gate { margin-top:20px; padding:21px; border:3px solid var(--green); border-radius:10px; background:#f4fbf7; }
.consultation-gate>span { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.consultation-gate h3 { margin:6px 0 8px; font-size:24px; }
.consultation-gate>p { margin:0 0 13px; color:#4f5e56; font-size:12px; line-height:1.55; }
.consultation-gate>b { font-size:13px; }
.consultation-gate>small { display:block; color:var(--muted); font-size:9px; line-height:1.45; }
.consultation-gate>.secondary { margin-top:14px; }
.layout-check { margin:20px 0 5px; padding:18px; border:1px solid var(--line); border-radius:9px; background:#f7fafa; }
.layout-check h3 { margin:0 0 4px; font-size:17px; }
.layout-check>p { margin:0 0 13px; color:var(--muted); font-size:12px; }
.decision-help { font-size:13px!important; font-weight:700; }
.layout-options { display:grid; grid-template-columns:repeat(2,1fr); gap:9px; margin-bottom:19px; }
.layout-options .choice { min-height:70px; }
.outdoor-count { display:grid; grid-template-columns:repeat(4,1fr); gap:9px; margin:11px 0 14px; }
.count-button { min-height:78px; padding:10px; border:3px solid var(--line); border-radius:8px; background:white; color:var(--ink); cursor:pointer; }
.count-button strong,.count-button span { display:block; }
.count-button strong { color:var(--green); font-size:27px; }
.count-button span { margin-top:3px; font-size:12px; font-weight:800; }
.count-button.selected { border-color:var(--green); background:#edf8f2; box-shadow:0 0 0 2px rgba(0,130,58,.12); }
.layout-result { display:flex; flex-direction:column; gap:4px; padding:13px 15px; border-left:4px solid var(--green); background:#edf8f2; }
.layout-result b { color:var(--green); font-size:13px; }
.layout-result span { color:#4b5a52; font-size:11px; line-height:1.45; }
.layout-result small { color:#607069; font-size:10px; line-height:1.4; }
.continue-box { margin-top:22px; padding:17px; border:2px solid var(--cyan); border-radius:9px; background:#f2fbfc; }
.continue-box>b,.continue-box>span { display:block; }
.continue-box>b { font-size:18px; }
.continue-box>span { margin-top:4px; color:var(--muted); font-size:13px; }
.continue-box .nav-buttons { margin-top:14px; }
.first-step-next { margin-top:18px; }
.first-step-next .full { margin-top:14px; }
.next-large { min-height:58px; font-size:16px; }
.route-confirmation { margin:14px 0; padding:16px; border:2px solid #d5a031; border-radius:8px; background:#fff8e8; color:#59471f; }
.route-confirmation b { font-size:16px; }
.route-confirmation p { margin:7px 0 13px; font-size:12px; line-height:1.5; }
.route-confirmation>div { display:flex; gap:10px; }
.check { flex-direction:row; align-items:center; min-height:48px; padding:0 12px; border:1px solid var(--line); border-radius:5px; background:white; cursor:pointer; }
.check input { width:18px; height:18px; margin:0; accent-color:var(--green); }
.placement-guide { margin:18px 0; padding:17px 19px; border-radius:7px; background:#f4f8f8; color:#3f494b; font-size:13px; line-height:1.48; }
.placement-guide ul,.funding-info ul { margin:8px 0 0; padding-left:19px; }
.indoor-examples { display:grid; grid-template-columns:repeat(3,1fr); gap:11px; margin:17px 0 12px; }
.indoor-card { display:flex; flex-direction:column; min-width:0; padding:0 0 14px; overflow:hidden; border:2px solid var(--line); border-radius:8px; background:white; color:var(--ink); text-align:left; }
button.indoor-card { cursor:pointer; }
button.indoor-card:hover,button.indoor-card.selected { border-color:var(--cyan); background:#f5fcfd; }
.indoor-card img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; background:#edf2f2; }
.indoor-card span { display:block; padding:11px 12px 0; }
.indoor-card strong,.indoor-card small { display:block; }
.indoor-card strong { font-size:13px; line-height:1.25; }
.indoor-card small { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.4; }
.indoor-card.bad-example { border-color:#e2c8c8; background:#fffafa; }
.indoor-card.bad-example strong { color:#8d5050; }
.unclear-button { display:flex; align-items:flex-start; gap:10px; width:100%; min-height:58px; padding:11px 13px; border:2px solid var(--line); border-radius:7px; background:white; color:var(--ink); text-align:left; cursor:pointer; }
.unclear-button:hover,.unclear-button.selected { border-color:var(--cyan); background:#f5fcfd; }
.unclear-button strong,.unclear-button small { display:block; }
.unclear-button small { margin-top:4px; color:var(--muted); font-size:11px; }
.unclear-button.selected .radio { border:5px solid var(--green); }
.room-installation { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:9px; background:#fbfcfc; }
.room-installation-title { display:flex; justify-content:space-between; gap:15px; align-items:center; margin-bottom:12px; padding-bottom:11px; border-bottom:1px solid var(--line); }
.room-installation-title b { color:var(--green); }
.room-installation-title span { color:var(--muted); font-size:12px; font-weight:800; }
.room-installation .indoor-examples { grid-template-columns:1fr 1fr; }
.installation-height { display:grid; grid-template-columns:minmax(180px,240px) 1fr; gap:16px; align-items:center; margin-top:13px; padding:14px; border:1px solid #b8dbe0; border-radius:8px; background:#f2fbfc; }
.installation-height p { margin:0; color:var(--muted); font-size:11px; line-height:1.45; }
.photo-planner { margin-top:16px; padding:15px; border:2px solid #b8dbe0; border-radius:9px; background:#f4fbfc; }
.photo-planner-head { display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:12px; }
.photo-planner-head b,.photo-planner-head span { display:block; }
.photo-planner-head b { color:var(--green); font-size:14px; }
.photo-planner-head span { margin-top:4px; color:var(--muted); font-size:11px; line-height:1.4; }
.photo-planner-head em { padding:4px 8px; border-radius:20px; color:white; background:var(--cyan); font-size:9px; font-style:normal; font-weight:900; letter-spacing:.08em; }
.photo-upload { display:flex; flex-direction:column; align-items:center; justify-content:center; min-height:112px; padding:18px; border:2px dashed var(--cyan); border-radius:8px; background:white; text-align:center; cursor:pointer; }
.photo-upload input { position:absolute; width:1px; height:1px; opacity:0; }
.photo-upload strong { color:var(--green); font-size:14px; }
.photo-upload small { margin-top:5px; color:var(--muted); font-size:10px; }
.visual-stage { position:relative; display:block; width:100%; aspect-ratio:16/10; padding:0; overflow:hidden; border:2px solid #8ccbd3; border-radius:8px; background:#dce4e5; cursor:crosshair; }
.visual-stage>img { display:block; width:100%; height:100%; object-fit:cover; }
.visual-unit { position:absolute; z-index:2; width:27%; min-width:92px; aspect-ratio:3.5/1; transform:translate(-50%,-50%); border:2px solid #d6dcde; border-radius:5px 5px 8px 8px; background:linear-gradient(#fff 0 70%,#edf1f2); box-shadow:0 8px 13px #27323555; pointer-events:none; }
.visual-unit i { position:absolute; left:19%; right:19%; bottom:10%; height:4px; border-radius:5px; background:#34aebf; }
.visual-unit b { position:absolute; right:6%; top:12%; color:#747d7f; font-size:clamp(6px,1.1vw,10px); }
.outdoor-visual-unit { position:absolute; z-index:2; width:18%; min-width:68px; aspect-ratio:1.22/1; transform:translate(-50%,-50%); border:4px solid #eef1f2; border-radius:5px; background:linear-gradient(135deg,#f9fafa,#cbd2d4); box-shadow:0 9px 15px #27323566; pointer-events:none; }
.outdoor-visual-unit .outdoor-fan { position:absolute; left:10%; top:13%; width:62%; aspect-ratio:1; border:3px solid #798588; border-radius:50%; background:repeating-conic-gradient(#6d797c 0 12deg,#aeb7b9 12deg 25deg); box-shadow:inset 0 0 0 9px #bfc7c9; }
.outdoor-visual-unit .outdoor-fan::after { content:""; position:absolute; inset:38%; border-radius:50%; background:#626e71; }
.outdoor-visual-unit .outdoor-grille { position:absolute; right:7%; top:16%; bottom:16%; width:13%; background:repeating-linear-gradient(to bottom,#7d898b 0 2px,transparent 2px 6px); }
.outdoor-visual-unit .outdoor-feet { position:absolute; left:7%; right:7%; bottom:-8px; height:8px; border-left:14px solid #5f696b; border-right:14px solid #5f696b; }
.outdoor-visual-unit.wall::after { content:""; position:absolute; left:15%; right:15%; bottom:-12px; height:10px; border-left:3px solid #667174; border-right:3px solid #667174; border-bottom:3px solid #667174; }
.visual-channel-path { position:absolute; inset:0; z-index:1; width:100%; height:100%; overflow:visible; pointer-events:none; }
.visual-channel-path polyline { fill:none; stroke-linecap:square; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
.visual-channel-path .channel-shadow { stroke:#26373955; stroke-width:15; }
.visual-channel-path .channel-body { stroke:#f5f6f6; stroke-width:11; }
.channel-target { position:absolute; z-index:3; transform:translate(-50%,-50%); padding:4px 7px; border:2px solid white; border-radius:20px; color:white; background:var(--green); box-shadow:0 2px 8px #26373955; font-size:9px; font-weight:800; pointer-events:none; }
.tap-hint { position:absolute; right:9px; bottom:9px; padding:6px 9px; border-radius:5px; color:white; background:#243537cc; font-size:9px; font-weight:800; pointer-events:none; }
.placement-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:10px; }
.placement-tabs button { display:flex; align-items:center; gap:8px; min-height:46px; padding:8px 11px; border:2px solid var(--line); border-radius:7px; color:var(--ink); background:white; text-align:left; cursor:pointer; }
.placement-tabs button.selected { border-color:var(--green); background:#edf8f2; }
.placement-tabs b { display:grid; place-items:center; width:24px; height:24px; border-radius:50%; color:white; background:#9aa7a9; }
.placement-tabs button.selected b { background:var(--green); }
.placement-tabs span { font-size:11px; font-weight:800; }
.visual-controls { display:flex; justify-content:flex-end; gap:9px; margin-top:10px; }
.visual-controls button { min-height:42px; }
.visual-note { margin:10px 0 0; color:#526164; font-size:10px; line-height:1.45; }
.ai-status { display:flex; flex-direction:column; gap:4px; margin-top:11px; padding:11px 13px; border-left:4px solid #d5a031; background:#fff8e8; color:#59471f; }
.ai-status b { font-size:11px; }
.ai-status span { font-size:10px; line-height:1.45; }
.quote-visuals { margin:16px 0; overflow:hidden; border:1px solid var(--line); border-radius:8px; }
.quote-visual-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; padding:15px; }
.quote-visual-grid article>b,.quote-visual-grid article>small { display:block; }
.quote-visual-grid article>b { margin-top:8px; color:var(--green); font-size:12px; }
.quote-visual-grid article>small { color:var(--muted); font-size:10px; }
.quote-visual-grid .visual-stage { cursor:default; }
.quote-visuals>p { margin:0; padding:0 15px 15px; color:var(--muted); font-size:9px; line-height:1.4; }
.choice-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:15px 0; }
.choice { position:relative; display:flex; align-items:flex-start; gap:10px; min-height:76px; padding:13px; border:2px solid var(--line); border-radius:7px; background:white; color:var(--ink); text-align:left; cursor:pointer; }
.choice:hover,.choice.selected { border-color:var(--cyan); background:#f5fcfd; }
.choice span:last-child { display:block; }
.choice strong,.choice small { display:block; }
.choice small { margin-top:5px; color:var(--muted); line-height:1.35; }
.radio { flex:none; width:17px; height:17px; border:2px solid #aebabc; border-radius:50%; }
.choice.selected .radio { border:5px solid var(--green); }
.access-examples { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.outdoor-installation { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:9px; background:#fbfcfc; }
.outdoor-installation h3 { margin:0; color:var(--green); font-size:17px; }
.access-card { padding:0 0 15px; overflow:hidden; border:2px solid var(--line); border-radius:8px; background:white; color:var(--ink); text-align:left; cursor:pointer; }
.access-card:hover,.access-card.selected { border-color:var(--cyan); background:#f7fcfd; }
.access-card strong,.access-card small { display:block; margin:0 14px; }
.access-card strong { margin-top:12px; }
.access-card small { margin-top:5px; color:var(--muted); line-height:1.4; }
.scene { position:relative; display:block; height:112px; overflow:hidden; background:linear-gradient(#dff2f5 0 70%,#d8ded1 70%); }
.scene .house { position:absolute; left:15%; bottom:30%; width:58%; height:53%; background:#f4efe7; border-left:7px solid #d7d0c7; }
.scene .house::before { content:""; position:absolute; top:-21px; left:-10px; width:calc(100% + 20px); height:23px; background:#596467; clip-path:polygon(5% 100%,16% 0,86% 0,100% 100%); }
.scene .outdoor-unit { position:absolute; width:49px; height:39px; border:4px solid #e2e6e7; border-radius:4px; background:radial-gradient(circle,#758083 0 8px,#b8c0c2 9px 12px,#f4f5f5 13px); box-shadow:0 4px 5px #8b959655; }
.easy-scene .outdoor-unit { left:55%; bottom:17%; }
.difficult-scene .outdoor-unit { left:53%; bottom:49%; }
.scene .person { position:absolute; right:14%; bottom:15%; width:9px; height:35px; border-radius:5px; background:var(--green); }
.scene .person::before { content:""; position:absolute; top:-10px; left:-1px; width:11px; height:11px; border-radius:50%; background:#d6a57e; }
.scene .ladder { position:absolute; left:63%; bottom:10%; width:35px; height:75px; border-left:4px solid #8c9698; border-right:4px solid #8c9698; transform:skew(-7deg); background:repeating-linear-gradient(to bottom,transparent 0 11px,#8c9698 11px 14px); }
.channel-guide { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:18px 0; }
.channel-guide>div { padding:15px; border:1px solid var(--line); border-radius:8px; background:#f8fafa; }
.channel-guide b { display:block; margin:10px 0 5px; font-size:13px; }
.channel-guide p { margin:0; color:var(--muted); font-size:12px; line-height:1.45; }
.carried-recommendation { display:flex; flex-direction:column; gap:4px; margin:0 0 14px; padding:12px 14px; border-left:4px solid var(--green); background:#edf8f2; }
.carried-recommendation b { color:var(--green); font-size:12px; }
.carried-recommendation span { color:#3f5047; font-size:12px; line-height:1.45; }
.carried-recommendation small { color:#65736c; font-size:10px; line-height:1.4; }
.channel-sample { display:block; width:100%; height:34px; border-radius:3px; transform:perspective(130px) rotateX(7deg); }
.hkl-sample { border:1px solid #d5dadd; background:linear-gradient(90deg,#e4e7e8 0 5%,#fff 5% 95%,#dfe3e4 95%); box-shadow:0 5px 8px #66747725; }
.alu-sample { border:1px solid #aeb5b7; background:linear-gradient(180deg,#f7f8f8,#cfd4d5 45%,#f7f8f8); box-shadow:0 5px 8px #66747735; }
.pump-info { margin:15px 0; padding:14px 16px; border:1px solid #b8dbe0; border-radius:7px; background:#f1f9fa; color:#465254; font-size:12px; line-height:1.5; }
.pump-info summary { color:var(--green); font-size:13px; font-weight:800; cursor:pointer; }
.pump-info p { margin:10px 0 0; }
.automatic-length { display:grid; grid-template-columns:1fr auto; gap:3px 18px; align-items:end; margin:18px 0 12px; padding:16px 18px; border:2px solid var(--cyan); border-radius:8px; background:#f2fbfc; }
.automatic-length span { color:#425052; font-size:13px; font-weight:800; }
.automatic-length strong { grid-row:1/3; grid-column:2; color:var(--green); font-size:28px; }
.automatic-length small { color:var(--muted); font-size:11px; }
.common-fields { display:grid; gap:15px; padding:15px; border-radius:8px; background:#f4f7f7; }
.automatic-drills { min-height:48px; padding:9px 12px; border:1px solid #cbd5d7; border-radius:5px; background:white; }
.automatic-drills b,.automatic-drills span { display:block; }
.automatic-drills b { color:var(--green); font-size:14px; }
.automatic-drills span { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.35; }
.electrical-precheck { padding:17px; border:2px solid #b8dbe0; border-radius:9px; background:white; }
.electrical-precheck h3 { margin:0; font-size:19px; }
.electrical-precheck>p { margin:6px 0 14px; color:var(--muted); font-size:11px; line-height:1.5; }
.electrical-provider { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.electrical-provider .choice { min-height:82px; }
.electrical-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-top:15px; padding:15px; border-radius:8px; background:#f4f8f8; }
.electrical-fields-head { grid-column:1/-1; display:flex; justify-content:space-between; gap:18px; align-items:baseline; }
.electrical-fields-head b { color:var(--green); font-size:13px; }
.electrical-fields-head span { color:var(--muted); font-size:10px; text-align:right; }
.electrical-status { grid-column:1/-1; display:flex; flex-direction:column; gap:4px; margin-top:12px; padding:11px 13px; border-left:4px solid var(--green); background:#edf8f2; }
.electrical-status b { color:var(--green); font-size:12px; }
.electrical-status span { color:#56645d; font-size:10px; line-height:1.45; }
.electrical-status.review { border-color:#d5a031; background:#fff8e8; }
.electrical-status.review b { color:#7c5e1d; }
.electrical-safety-note { margin-top:13px; padding:11px 13px; border-left:4px solid #d5a031; background:#fff8e8; color:#59471f; font-size:10px; line-height:1.5; }
.electrical-price-note { margin:0 0 16px; padding:12px 14px; border-left:4px solid #d5a031; background:#fff8e8; color:#59471f; font-size:11px; line-height:1.5; }
.funding-warning { margin:15px 0; padding:16px 18px; border-left:5px solid #d5a031; border-radius:5px; background:#fff8e8; color:#59471f; }
.funding-warning b { display:block; font-size:16px; }
.funding-warning p { margin:7px 0; font-size:12px; line-height:1.55; }
.funding-warning small { color:#74653f; font-size:10px; line-height:1.45; }
.condensate-visual { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:13px 0 5px; }
.drain-example { position:relative; min-height:125px; padding:68px 12px 11px; overflow:hidden; border:1px solid #cfe1e4; border-radius:7px; background:white; }
.drain-example b,.drain-example small { display:block; }
.drain-example b { color:#283638; }
.drain-example small { margin-top:3px; color:var(--muted); font-size:10px; line-height:1.35; }
.mini-unit { position:absolute; top:13px; left:12px; width:62px; height:25px; border:2px solid #d7dfe0; border-radius:4px; background:linear-gradient(#fff,#f1f4f4); box-shadow:0 4px 7px #60707324; }
.mini-unit::after { content:""; position:absolute; left:13px; right:13px; bottom:4px; height:2px; background:var(--cyan); }
.drain-line { position:absolute; top:39px; left:66px; width:91px; height:25px; border:3px solid transparent; }
.slope-line { border-bottom-color:var(--cyan); transform:rotate(12deg); transform-origin:left bottom; }
.lift-line { top:16px; height:43px; border-top-color:var(--cyan); border-right-color:var(--cyan); border-radius:0 8px 0 0; }
.pump-symbol { position:absolute; z-index:1; top:35px; left:69px; display:grid; place-items:center; width:23px; height:23px; border-radius:50%; color:white; background:var(--green); font-size:10px; font-weight:900; }
.water-drop { position:absolute; top:48px; right:12px; color:#36aebf; font-size:11px; }
.warning { margin-top:14px; }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:20px 0; }
.funding-questions { display:grid; gap:13px; margin:20px 0; }
.funding-questions>div { padding:13px 15px; border:1px solid var(--line); border-radius:7px; }
.funding-questions>div>b { font-size:13px; }
.yes-no { display:grid; grid-template-columns:1fr 1fr; gap:9px; margin-top:10px; }
.yes-no .choice { min-height:46px; align-items:center; padding:9px 12px; }
.funding-info { margin:14px 0; padding:13px 15px; border-radius:7px; background:#f4f8f8; color:#414c4e; font-size:12px; line-height:1.48; }
.funding-info summary { color:var(--green); font-weight:800; cursor:pointer; }
.funding-info p { margin-bottom:0; color:var(--muted); }
.recommendation { margin-top:15px; padding:16px 18px; border:2px solid var(--green); border-radius:7px; background:#f5fbf8; }
.recommendation span,.recommendation strong { display:block; }
.recommendation span { color:var(--green); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.recommendation strong { margin:5px 0; font-size:20px; }
.recommendation p { margin:0; color:#4e5a56; font-size:12px; line-height:1.45; }
.models { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:24px 0; }
.feature-choice { margin:18px 0; padding:16px; border:1px solid var(--line); border-radius:8px; background:#f8fafa; }
.feature-choice h3 { margin:0; font-size:18px; }
.feature-choice>p { margin:5px 0 13px; color:var(--muted); font-size:11px; }
.feature-buttons { display:grid; grid-template-columns:1fr 1fr; gap:9px; }
.feature-button { display:grid; grid-template-columns:26px 1fr; gap:2px 8px; min-height:72px; padding:11px; border:2px solid var(--line); border-radius:7px; background:white; color:var(--ink); text-align:left; cursor:pointer; }
.feature-button>span { grid-row:1/3; display:grid; place-items:center; width:25px; height:25px; border-radius:50%; color:white; background:#aab5b7; font-weight:900; }
.feature-button b,.feature-button small { grid-column:2; }
.feature-button b { font-size:12px; }
.feature-button small { color:var(--muted); font-size:10px; line-height:1.35; }
.feature-button.selected { border-color:var(--green); background:#edf8f2; }
.feature-button.selected>span { background:var(--green); }
.comfort-hint,.customer-decision { display:flex; flex-direction:column; gap:3px; margin-top:12px; padding:11px 13px; border-left:4px solid var(--green); background:#edf8f2; }
.comfort-hint b,.customer-decision b { color:var(--green); font-size:12px; }
.comfort-hint span,.customer-decision span { color:#56645d; font-size:10px; line-height:1.4; }
.series-comparison { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:15px 0; }
.series-comparison article { padding:15px; border:2px solid var(--line); border-radius:8px; background:white; }
.series-comparison article.premium { border-color:var(--cyan); background:#f5fcfd; }
.series-comparison article>span { color:var(--green); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.series-comparison h3 { margin:5px 0 8px; font-size:16px; }
.series-comparison ul { margin:0 0 12px; padding-left:17px; color:#526064; font-size:10px; line-height:1.55; }
.series-comparison article>b { color:var(--ink); font-size:13px; }
.price-difference { display:grid; grid-template-columns:1fr auto; gap:3px 15px; align-items:center; padding:13px 15px; border-radius:7px; color:white; background:#39484b; }
.price-difference span { font-size:12px; font-weight:800; }
.price-difference strong { grid-row:1/3; grid-column:2; color:#8ee3ee; font-size:20px; }
.price-difference small { font-size:9px; line-height:1.35; opacity:.8; }
.next-steps { margin-top:24px; padding:22px; border:3px solid var(--green); border-radius:10px; background:#f4fbf7; }
.next-steps>span { color:var(--green); font-size:11px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.next-steps h3 { margin:6px 0 8px; font-size:23px; }
.next-steps>p { margin:0; color:#4f5e56; font-size:12px; line-height:1.55; }
.booking-options { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:17px 0 10px; }
.booking-options a,.booking-options button { display:flex; flex-direction:column; min-height:142px; padding:16px; border:2px solid #b9d7c8; border-radius:8px; color:var(--ink); background:white; text-align:left; text-decoration:none; font:inherit; cursor:pointer; }
.booking-options a:hover,.booking-options button:hover { border-color:var(--green); box-shadow:0 5px 15px rgba(0,130,58,.12); }
.booking-options button:disabled { opacity:.58; cursor:wait; box-shadow:none; }
.booking-options b,.booking-options small,.booking-options strong { display:block; }
.booking-options b { font-size:16px; }
.booking-options small { flex:1; margin:7px 0 13px; color:var(--muted); font-size:10px; line-height:1.45; }
.booking-options strong { color:var(--green); font-size:12px; }
.booking-note { color:var(--muted); font-size:9px; }
.planning-contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px; margin:20px 0 14px; }
.planning-contact-grid label { display:flex; flex-direction:column; gap:6px; color:var(--ink); font-size:10px; font-weight:800; }
.planning-contact-grid input { width:100%; min-height:43px; padding:10px 12px; border:1px solid #b9cec5; border-radius:6px; color:var(--ink); background:white; font:inherit; font-size:13px; font-weight:500; }
.planning-contact-grid input:focus { outline:3px solid rgba(0,176,193,.18); border-color:var(--teal); }
.planning-honeypot { position:absolute!important; width:1px!important; height:1px!important; overflow:hidden!important; clip:rect(0 0 0 0)!important; white-space:nowrap!important; }
.planning-consent { display:flex; gap:10px; align-items:flex-start; margin:0 0 16px; color:#45564f; font-size:10px; line-height:1.5; }
.planning-consent input { flex:0 0 auto; width:18px; height:18px; margin-top:1px; accent-color:var(--green); }
.planning-consent a { color:var(--green); font-weight:800; }
.planning-transfer-status { margin:12px 0; padding:11px 13px; border-radius:6px; font-size:11px; font-weight:700; }
.planning-transfer-status.sending { color:#075e69; background:#e6f6f7; }
.planning-transfer-status.success { color:#075f3b; background:#e6f5ec; }
.planning-transfer-status.error { color:#8d2c25; background:#fcecea; }
.video-feature { display:grid; grid-template-columns:minmax(0,.8fr) minmax(420px,1.2fr); gap:54px; align-items:center; }
.video-feature > div:first-child { max-width:590px; }
.video-feature h2 { margin:0 0 18px; font-size:clamp(36px,4vw,58px); line-height:1.02; letter-spacing:-.04em; }
.video-feature p { color:var(--muted); line-height:1.75; }
.video-frame { position:relative; overflow:hidden; border-radius:10px; background:#102d2a; box-shadow:0 18px 45px rgba(13,44,37,.16); aspect-ratio:16/9; }
.video-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }
.model { position:relative; display:grid; grid-template-columns:64px 1fr; text-align:left; gap:3px 13px; min-height:105px; padding:15px; border:2px solid var(--line); border-radius:8px; background:white; cursor:pointer; }
.model:hover,.model.selected { border-color:var(--cyan); background:#f5fcfd; }
.model strong,.model small,.model em { grid-column:2; }
.model strong { font-size:14px; }
.model small { color:var(--muted); }
.model em { width:max-content; padding:3px 8px; color:#666; background:#f0f0f0; border-radius:20px; font-size:10px; font-style:normal; font-weight:700; }
.model em.funded { color:var(--green); background:#e6f5ed; }
.unit-icon { grid-row:1/5; align-self:center; display:block; width:64px; height:27px; border:2px solid #dce2e3; border-radius:5px; background:linear-gradient(#fff,#f4f5f5); box-shadow:0 6px 8px #d9dddd; }
.unit-icon i { display:block; width:40px; height:3px; margin:17px auto 0; background:var(--cyan); border-radius:5px; }
.recommended-tag { position:absolute; top:-9px; right:9px; padding:3px 8px; border-radius:20px; color:white; background:var(--green); font-size:9px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.result-head { display:flex; justify-content:space-between; align-items:flex-end; gap:18px; border-bottom:2px solid var(--cyan); padding-bottom:18px; }
.result-head strong { color:var(--green); font-size:31px; white-space:nowrap; }
.result-head strong small { display:block; color:#798284; font-size:10px; text-align:right; text-transform:uppercase; }
.result-head h2 { font-size:21px; }
.price-check-badge { display:flex; justify-content:space-between; gap:20px; margin-bottom:16px; padding:11px 14px; border:2px solid #d5a031; border-radius:7px; background:#fff8e8; color:#59471f; }
.price-check-badge b { font-size:12px; }
.price-check-badge span { max-width:420px; font-size:10px; line-height:1.4; text-align:right; }
.quote-summary { margin:17px 0 12px; border-top:1px solid var(--line); }
.quote-summary>div { display:flex; justify-content:space-between; gap:22px; padding:11px 3px; border-bottom:1px solid var(--line); font-size:13px; }
.quote-summary b { color:#354043; }
.sum-note { margin:0 0 15px; color:var(--muted); font-size:11px; line-height:1.45; }
.price-audit { margin:18px 0; padding:18px; border:2px solid #d5a031; border-radius:9px; background:#fffcf4; }
.price-audit-head { display:flex; justify-content:space-between; align-items:flex-end; gap:20px; padding-bottom:13px; border-bottom:2px solid #d5a031; }
.price-audit-head span,.price-audit-head b { display:block; }
.price-audit-head span { color:#7c651f; font-size:10px; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.price-audit-head b { margin-top:4px; font-size:16px; }
.price-audit-head strong { color:var(--green); font-size:20px; white-space:nowrap; }
.price-audit h3 { margin:18px 0 5px; color:#6b581f; font-size:12px; text-transform:uppercase; letter-spacing:.05em; }
.audit-row { display:flex; justify-content:space-between; gap:22px; padding:8px 0; border-bottom:1px solid #eadfbe; font-size:11px; line-height:1.4; }
.audit-row span { color:#4b4b43; }
.audit-row b { flex:none; color:#2f3c36; }
.audit-total { display:flex; justify-content:space-between; gap:20px; margin-top:17px; padding:13px; border-radius:6px; color:white; background:#39484b; font-size:12px; }
.audit-total b { color:#8ee3ee; }
.audit-note,.audit-warning { margin:12px 0 0; font-size:10px; line-height:1.5; }
.audit-note { color:#6d654d; }
.audit-warning { padding:10px 12px; border-left:4px solid #bb7f20; background:#fff3d4; color:#654b19; }
.planning-result { margin:16px 0; overflow:hidden; border:1px solid var(--line); border-radius:8px; background:white; }
.planning-title { display:flex; justify-content:space-between; gap:16px; padding:13px 15px; color:white; background:#39484b; }
.planning-title span { font-weight:800; }
.planning-title small { opacity:.8; }
.planning-result>div:not(.planning-title) { display:grid; grid-template-columns:170px 1fr; gap:16px; padding:10px 15px; border-top:1px solid #e5e9ea; color:#4b5658; font-size:12px; line-height:1.4; }
.planning-result>div b { color:#253033; }
.pdf-help { margin:14px 0 0; padding:11px 13px; border-radius:6px; color:#405052; background:#eef5f5; font-size:11px; line-height:1.45; }
.notice { font-size:11px; }
.product-sheet { display:grid; grid-template-columns:220px 1fr; gap:25px; align-items:center; margin:19px 0; padding:19px; border:1px solid var(--line); border-radius:8px; background:#fbfcfc; }
.product-sheet img { display:block; width:100%; max-height:150px; object-fit:contain; mix-blend-mode:multiply; }
.product-sheet span { color:var(--green); font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.product-sheet h3 { margin:5px 0 3px; font-size:22px; }
.product-sheet>div>b { color:var(--cyan); }
.product-sheet ul { margin:10px 0 0; padding-left:18px; color:#4d595b; font-size:12px; line-height:1.55; }
.quality-box { margin:16px 0; padding:16px 18px; border-left:5px solid var(--green); background:#edf8f2; }
.quality-box b { color:var(--green); font-size:15px; }
.quality-box p { margin:6px 0 0; color:#43514a; font-size:12px; line-height:1.5; }
.technical-check { margin:18px 0; overflow:hidden; border:2px solid var(--green); border-radius:9px; background:#f5fbf8; }
.technical-check.review { border-color:#d5a031; background:#fffaf0; }
.technical-check.blocked { border-color:#b44b4b; background:#fff7f7; }
.technical-check-head { display:flex; justify-content:space-between; gap:18px; align-items:center; padding:14px 16px; color:white; background:var(--green); }
.technical-check.review .technical-check-head { background:#b98417; }
.technical-check.blocked .technical-check-head { background:#a63d3d; }
.technical-check-head span,.technical-check-head strong { display:block; }
.technical-check-head span { font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; opacity:.85; }
.technical-check-head strong { margin-top:3px; font-size:17px; }
.technical-check-head>b { padding:6px 9px; border:2px solid rgba(255,255,255,.7); border-radius:5px; font-size:12px; }
.technical-check>p { margin:13px 16px 8px; color:#43514a; font-size:12px; }
.technical-check-list { padding:0 16px 12px; }
.technical-check-list>div { display:flex; gap:10px; padding:9px 0; border-top:1px solid rgba(75,100,90,.15); }
.technical-check-list i { display:grid; place-items:center; flex:none; width:23px; height:23px; border-radius:50%; color:white; background:var(--green); font-style:normal; font-weight:900; }
.technical-check-list .failed i { background:#a63d3d; }
.technical-check-list span,.technical-check-list b,.technical-check-list small { display:block; }
.technical-check-list b { font-size:12px; }
.technical-check-list small { margin-top:3px; color:#66716d; font-size:10px; line-height:1.45; }
.technical-blocker,.technical-review { margin:0 16px 16px; padding:12px 14px; border-left:4px solid #a63d3d; background:#fff; color:#713535; font-size:12px; font-weight:800; line-height:1.45; }
.technical-review { border-color:#b98417; color:#6f561f; }
.primary:disabled { color:#777; background:#d9dede; cursor:not-allowed; filter:none; }
footer { padding:16px 5vw; color:#8b9293; background:white; border-top:1px solid #e7eaea; font-size:12px; }

/* Shared information pages */
.information-page { min-height:100vh; background:#fff; }
.content-hero { position:relative; display:grid; grid-template-columns:minmax(0,1.2fr) minmax(340px,.8fr); gap:6vw; align-items:center; min-height:560px; padding:80px max(5vw,calc((100vw - 1280px)/2)); overflow:hidden; background:linear-gradient(135deg,#f8fbfb 0%,#edf4f4 58%,#e2efef 100%); }
.content-hero::before { content:""; position:absolute; top:-180px; right:-120px; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(97,195,208,.24),rgba(97,195,208,0) 69%); }
.content-hero>div,.content-hero>a { position:relative; z-index:1; }
.content-hero h1 { max-width:850px; font-size:clamp(49px,5.8vw,82px); line-height:.98; }
.content-hero>div>p:not(.eyebrow) { max-width:720px; margin:27px 0 0; color:#435154; font-size:20px; line-height:1.58; }
.hero-actions { display:flex; flex-wrap:wrap; gap:19px; align-items:center; margin-top:31px; }
.primary-link,.secondary-link { display:inline-flex; align-items:center; justify-content:center; min-height:52px; padding:0 22px; border-radius:5px; font-weight:850; text-decoration:none; transition:transform .18s ease,filter .18s ease; }
.primary-link { color:#101414; background:var(--cyan); }
.secondary-link { color:#283335; background:#edf2f2; }
.primary-link:hover,.secondary-link:hover { transform:translateY(-1px); filter:brightness(.96); }
.text-link { color:var(--green); font-weight:800; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.hero-fact-card { padding:39px; border-top:8px solid var(--cyan); border-radius:8px; background:rgba(255,255,255,.96); box-shadow:0 24px 60px rgba(28,53,58,.14); }
.hero-fact-card>span,.section-kicker { color:var(--green); font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.hero-fact-card h2 { margin:9px 0 15px; font-size:31px; line-height:1.12; letter-spacing:-.025em; }
.hero-fact-card p,.hero-fact-card li { color:#526063; font-size:14px; line-height:1.58; }
.hero-fact-card ul { margin:17px 0 0; padding-left:20px; }
.dark-card { color:white; border-color:var(--green); background:#283436; box-shadow:0 24px 60px rgba(16,30,33,.2); }
.dark-card>span { color:#87dee8; }
.dark-card p { color:#d7e0e1; }
.content-section { max-width:1280px; margin:0 auto; padding:92px 5vw; }
.content-section.soft-section { max-width:none; padding-right:max(5vw,calc((100vw - 1280px)/2)); padding-left:max(5vw,calc((100vw - 1280px)/2)); background:#f2f6f6; }
.content-section h2,.consultation-band h2,.instagram-band h2 { margin:8px 0 0; font-size:clamp(34px,4vw,55px); line-height:1.04; letter-spacing:-.035em; }
.intro-grid { display:grid; grid-template-columns:.85fr 1.15fr; gap:8vw; align-items:start; }
.intro-grid h2 { max-width:520px; }
.lead-copy { color:#475558; font-size:18px; line-height:1.68; }
.lead-copy p:first-child { margin-top:0; }
.lead-copy p:last-child { margin-bottom:0; }
.content-section.combined-project { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); padding-top:0; }
.reference-featured-project { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr); scroll-margin-top:130px; margin-bottom:34px; border-radius:10px; box-shadow:0 18px 46px rgba(31,51,55,.1); }
.combined-project-media { position:relative; min-height:440px; overflow:hidden; border-radius:10px 0 0 10px; background:#dce8e9; }
.combined-project-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; }
.combined-project-media>span { position:absolute; top:20px; left:20px; padding:8px 12px; border-radius:30px; color:white; background:rgba(25,39,42,.84); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.combined-project-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(34px,4.5vw,62px); border:1px solid #d6e5e3; border-left:0; border-radius:0 10px 10px 0; background:#eef7f6; }
.combined-project-copy h2 { margin:8px 0 18px; font-size:clamp(31px,3.2vw,46px); line-height:1.07; letter-spacing:-.03em; }
.combined-project-copy>p:not(.section-kicker) { margin:0; color:var(--muted); font-size:16px; line-height:1.65; }
.combined-project-copy>.text-link { margin-top:25px; }
.combined-project-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-top:25px; }
.combined-project-links a { color:var(--green); font-size:13px; font-weight:900; text-decoration:none; }
.combined-project-links a:hover { text-decoration:underline; }
.section-heading { max-width:780px; margin-bottom:42px; }
.section-heading.narrow { max-width:680px; }
.section-heading>p:not(.section-kicker) { margin:16px 0 0; color:var(--muted); font-size:17px; line-height:1.6; }
.comparison-cards,.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.comparison-cards article,.values-grid article { display:flex; flex-direction:column; min-height:290px; padding:28px; border:1px solid var(--line); border-radius:8px; background:white; }
.comparison-cards article>span,.values-grid article>span { color:var(--cyan); font-size:11px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.comparison-cards h3,.values-grid h3 { margin:10px 0; font-size:25px; }
.comparison-cards p,.values-grid p { flex:1; margin:0; color:var(--muted); line-height:1.58; }
.comparison-cards b { margin-top:22px; color:var(--green); font-size:13px; }
.topic-grid,.process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.topic-grid article,.process-grid article { min-height:220px; padding:28px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.topic-grid article>b,.process-grid article>b { color:var(--cyan); font-size:13px; }
.topic-grid h3,.process-grid h3 { margin:14px 0 9px; font-size:21px; }
.topic-grid p,.process-grid p { margin:0; color:var(--muted); line-height:1.55; }
.special-device-note { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; margin-bottom:92px; padding-top:55px; padding-bottom:55px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.special-device-note h2 { font-size:clamp(32px,3.4vw,48px); }
.special-device-note p:not(.section-kicker) { max-width:800px; margin:17px 0 0; color:var(--muted); font-size:16px; line-height:1.62; }
.service-hero { background:linear-gradient(135deg,#f4f9f9,#dcebec); }
.process-grid article { min-height:205px; background:white; }
#wartung { scroll-margin-top:30px; }
.maintenance-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px 24px; }
.maintenance-grid article { display:grid; grid-template-columns:38px 1fr; gap:16px; padding:20px; border-radius:7px; background:white; }
.maintenance-grid article>b { display:grid; place-items:center; width:36px; height:36px; border-radius:50%; color:white; background:var(--green); font-size:11px; }
.maintenance-grid h3 { margin:1px 0 6px; font-size:17px; }
.maintenance-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.maintenance-price { display:grid; grid-template-columns:1.2fr .8fr; gap:30px; align-items:center; margin-top:35px; padding:32px; border-left:6px solid var(--cyan); background:#263234; color:white; }
.maintenance-price span { color:#80d7e2; font-size:12px; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.maintenance-price h3 { margin:7px 0 10px; font-size:28px; }
.maintenance-price p { margin:0; color:#d5dfe0; line-height:1.55; }
.price-pending { display:flex; flex-direction:column; gap:7px; padding:21px; border-radius:7px; background:white; color:var(--ink); }
.price-pending b { color:var(--green); font-size:17px; }
.price-pending small { color:var(--muted); line-height:1.45; }
.price-pending a { margin-top:7px; color:var(--green); font-size:13px; font-weight:850; text-decoration:none; }
.tips-list { display:grid; grid-template-columns:1fr 1fr; gap:0 55px; }
.tips-list article { display:grid; grid-template-columns:45px 1fr; gap:18px; padding:25px 0; border-top:1px solid var(--line); }
.tips-list article>b { color:var(--cyan); font-size:13px; }
.tips-list h3 { margin:0 0 7px; font-size:18px; }
.tips-list p { margin:0; color:var(--muted); line-height:1.55; }
.faq-section { padding-top:45px; }
.faq-list { border-top:1px solid var(--line); }
.faq-list details { border-bottom:1px solid var(--line); }
.faq-list summary { position:relative; padding:23px 50px 23px 0; font-size:17px; font-weight:800; cursor:pointer; list-style:none; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+"; position:absolute; top:17px; right:6px; color:var(--green); font-size:27px; }
.faq-list details[open] summary::after { content:"–"; }
.faq-list details p { max-width:900px; margin:0 0 24px; color:var(--muted); line-height:1.6; }
.about-hero { background:linear-gradient(135deg,#f8fbfb,#e8f2ef); }
.values-grid { grid-template-columns:repeat(4,1fr); }
.values-grid article { min-height:245px; }
.team-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:14px; }
.team-grid article { min-height:245px; padding:24px; border:1px solid var(--line); border-radius:8px; background:#fbfcfc; }
.team-monogram { display:grid; place-items:center; width:62px; height:62px; border-radius:50%; color:white; background:linear-gradient(135deg,var(--green),#0aa763); font-size:18px; font-weight:900; }
.team-grid h3 { margin:25px 0 8px; font-size:18px; }
.team-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.team-all { border-color:#b9dfe4!important; background:#f2fafb!important; }
.team-all .team-monogram { background:var(--cyan); color:#173236; font-size:30px; }
.location-card { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; margin-bottom:92px; padding-top:52px; padding-bottom:52px; color:white; background:#263234; }
.location-card h2 { font-size:clamp(32px,3.5vw,48px); }
.location-card p:not(.section-kicker) { color:#d7e0e1; line-height:1.6; }
.location-card>div:last-child { display:flex; gap:12px; flex-direction:column; min-width:250px; }
.references-hero { background:linear-gradient(135deg,#f8fbfb,#e2eeee); }
.instagram-card { display:block; padding:40px; border-radius:10px; color:white; background:linear-gradient(145deg,#6d2eb3,#d43f79 55%,#ed7c38); box-shadow:0 24px 60px rgba(80,30,90,.2); text-decoration:none; transition:transform .2s ease; }
.instagram-card:hover { transform:translateY(-3px); }
.instagram-card span { font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.instagram-card h2 { margin:8px 0 14px; font-size:35px; }
.instagram-card p { margin:0 0 25px!important; color:white!important; font-size:15px!important; line-height:1.55!important; }
.instagram-card b { font-size:13px; }
.reference-jump-links { display:flex; flex-wrap:wrap; gap:10px; margin:-5px 0 54px; }
.reference-featured-project + .reference-jump-links { margin-top:34px; }
.reference-jump-links a { display:inline-flex; align-items:center; min-height:42px; padding:0 16px; border:1px solid #bcdde1; border-radius:30px; color:#244347; background:#f4fbfb; font-size:12px; font-weight:850; text-decoration:none; }
.reference-jump-links a:hover { color:white; background:var(--green); border-color:var(--green); }
.reference-group { margin-top:76px; scroll-margin-top:130px; }
.reference-group:first-of-type { margin-top:0; }
.reference-group>header { display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,.65fr); gap:14px 65px; align-items:end; margin-bottom:27px; padding-bottom:24px; border-bottom:1px solid var(--line); }
.reference-group>header span { grid-column:1/-1; color:var(--green); font-size:11px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.reference-group>header h2 { margin:0; font-size:clamp(28px,3vw,42px); line-height:1.08; letter-spacing:-.025em; }
.reference-group>header p { margin:0; color:var(--muted); font-size:14px; line-height:1.6; }
.reference-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.reference-grid article { overflow:hidden; border:1px solid var(--line); border-radius:9px; background:#fff; box-shadow:0 10px 30px rgba(39,59,63,.07); }
.reference-image { position:relative; height:275px; overflow:hidden; background:#e8eeee; }
.reference-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.reference-grid article:hover img { transform:scale(1.025); }
.reference-image span { position:absolute; top:17px; left:17px; padding:7px 10px; border-radius:30px; color:white; background:rgba(26,34,36,.84); font-size:10px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.reference-grid article>div:last-child { padding:23px; }
.reference-grid h3 { margin:0 0 7px; font-size:20px; }
.reference-grid p { margin:0; color:var(--muted); font-size:13px; line-height:1.5; }
.reference-grid article>div:last-child>a { display:inline-block; margin-top:15px; color:var(--green); font-size:12px; font-weight:900; text-decoration:none; }
.instagram-band { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; max-width:1280px; margin:0 auto 92px; padding:54px 5vw; color:white; background:linear-gradient(110deg,#232e30,#344548); }
.instagram-band span { color:#86dce6; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.instagram-band h2 { max-width:780px; font-size:clamp(31px,3.5vw,48px); }
.instagram-band p { max-width:760px; color:#d4ddde; line-height:1.55; }
.instagram-band>a { display:inline-flex; align-items:center; min-height:52px; padding:0 20px; border-radius:5px; color:white; background:linear-gradient(135deg,#7c3abd,#d74479,#ea793f); font-weight:850; text-decoration:none; white-space:nowrap; }
.consultation-band { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; padding:72px max(5vw,calc((100vw - 1280px)/2)); color:white; background:var(--green); }
.consultation-band span { color:#a7e7cf; font-size:12px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.consultation-band p { max-width:760px; margin:14px 0 0; color:#d9eee4; font-size:16px; line-height:1.55; }
.consultation-actions { display:flex; flex-direction:column; gap:10px; min-width:240px; }
.consultation-band .primary-link { background:white; color:#123b29; }
.consultation-band .secondary-link { color:white; background:rgba(255,255,255,.13); }
.site-footer { display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:70px; padding:50px max(5vw,calc((100vw - 1280px)/2)); color:#aeb8ba; background:#1f2425; border-top:0; }
.site-footer img { display:block; width:190px; max-width:100%; margin-bottom:15px; }
.site-footer p { margin:0; line-height:1.55; }
.site-footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.site-footer b { margin-bottom:5px; color:white; font-size:14px; }
.site-footer a { color:#c6d0d2; text-decoration:none; }
.site-footer a:hover { color:var(--cyan); }
@media (max-width:1100px) {
  .desktop-navigation { display:none!important; }
  .mobile-navigation { display:block; }
  .topbar img { width:215px; }
  .hero { grid-template-columns:1fr; background:linear-gradient(rgba(255,255,255,.9),rgba(244,247,247,.97)),url('klima-raum.jpg') top left/cover no-repeat; padding:28px 4vw 50px; }
  .hero-copy { position:static; padding-top:12px; }
  .wizard { min-height:0; }
  .content-hero { grid-template-columns:1fr; min-height:0; padding-top:65px; padding-bottom:65px; }
  .hero-fact-card,.instagram-card { max-width:720px; }
  .team-grid { grid-template-columns:repeat(3,1fr); }
  .values-grid { grid-template-columns:repeat(2,1fr); }
  .reference-grid { grid-template-columns:1fr 1fr; }
  .content-section.combined-project,.reference-featured-project { grid-template-columns:1fr; }
  .combined-project-media { min-height:430px; border-radius:10px 10px 0 0; }
  .combined-project-copy { border-top:0; border-left:1px solid #d6e5e3; border-radius:0 0 10px 10px; }
  .special-device-note,.location-card,.instagram-band,.consultation-band { grid-template-columns:1fr; }
  .special-device-note,.location-card,.instagram-band { gap:28px; }
  .consultation-band { gap:30px; }
  .consultation-actions { max-width:360px; }
}
@media (max-width:700px) {
  .planning-contact-grid { grid-template-columns:1fr; }
  .installation-height,.booking-options { grid-template-columns:1fr; }
  .topbar { min-height:110px; padding:10px 18px; }
  .topbar img { width:170px; }
  h1 { font-size:45px; }
  .hero-copy>p { font-size:18px; }
  .wizard { padding:25px 18px; }
  .progress span { width:27px; height:27px; font-size:11px; }
  .progress span:not(:last-child)::after { left:24px; width:calc(100% + 15px); }
  .room-basics,.condition-card,.choice-grid,.form-grid,.models,.access-examples,.channel-guide,.product-sheet,.indoor-examples,.condensate-visual,.layout-options,.feature-buttons,.series-comparison,.alternative-device-grid,.electrical-provider,.electrical-fields { grid-template-columns:1fr; }
  .outdoor-count { grid-template-columns:repeat(2,1fr); }
  .product-sheet img { max-width:240px; margin:auto; }
  .condition-card>em { grid-column:1; }
  .planning-title { flex-direction:column; gap:4px; }
  .planning-result>div:not(.planning-title) { grid-template-columns:1fr; gap:3px; }
  .panel h2 { font-size:26px; }
  .result-head { align-items:flex-start; flex-direction:column; }
  .price-check-badge,.price-audit-head,.audit-total { align-items:flex-start; flex-direction:column; }
  .price-check-badge span { text-align:left; }
  .room-actions { align-items:flex-start; flex-direction:column; }
  .route-confirmation>div { flex-direction:column; }
  .room-installation .indoor-examples { grid-template-columns:1fr; }
  .room-installation-title { align-items:flex-start; flex-direction:column; gap:4px; }
  .automatic-length { grid-template-columns:1fr; }
  .automatic-length strong { grid-row:auto; grid-column:auto; }
  .wall-device-promo { grid-template-columns:62px 1fr; padding:25px 16px 17px; }
  .wall-device-icon { width:62px; height:29px; }
  .wall-device-icon i { width:39px; margin-top:18px; }
  .wall-device-promo>b,.wall-benefits { grid-column:1/-1; grid-row:auto; }
  .wall-device-promo>b { margin-top:4px; }
  .electrical-fields-head { grid-column:1; align-items:flex-start; flex-direction:column; gap:4px; }
  .electrical-fields-head span { text-align:left; }
  .content-hero { padding:52px 20px; }
  .content-hero h1 { font-size:45px; }
  .content-hero>div>p:not(.eyebrow) { font-size:17px; }
  .hero-fact-card,.instagram-card { padding:28px 23px; }
  .content-section,.content-section.soft-section { padding:65px 20px; }
  .content-section.combined-project { padding-top:0; }
  .combined-project-media { min-height:280px; }
  .combined-project-copy { padding:29px 24px; }
  .combined-project-copy h2 { font-size:31px; }
  .combined-project-links { flex-direction:column; gap:11px; }
  .intro-grid,.comparison-cards,.topic-grid,.process-grid,.maintenance-grid,.maintenance-price,.tips-list,.values-grid,.team-grid,.reference-grid,.site-footer { grid-template-columns:1fr; }
  .topic-grid,.process-grid { border-left:0; }
  .topic-grid article,.process-grid article { min-height:0; padding:23px 0; border-right:0; }
  .comparison-cards article,.values-grid article { min-height:0; }
  .special-device-note,.location-card { margin-bottom:65px; padding:44px 20px; }
  .maintenance-price { padding:25px 20px; }
  .tips-list { gap:0; }
  .team-grid { gap:10px; }
  .team-grid article { min-height:0; }
  .reference-jump-links { margin-bottom:42px; }
  .reference-group { margin-top:58px; }
  .reference-group>header { grid-template-columns:1fr; gap:10px; }
  .reference-group>header span { grid-column:auto; }
  .reference-image { height:300px; }
  .instagram-band { margin-bottom:65px; padding:45px 20px; }
  .consultation-band { padding:56px 20px; }
  .site-footer { gap:35px; padding:45px 20px; }
}
@media print {
  .topbar nav,.mobile-navigation,.hero-copy,.progress,.step-label,.nav-buttons,footer { display:none; }
  .topbar { min-height:80px; padding:10px 20px; }
  .topbar img { width:190px; }
  .hero { display:block; padding:20px; background:white; }
  .wizard { box-shadow:none; border-top:0; padding:0; }
  .product-sheet { break-inside:avoid; }
  .quality-box,.notice,.planning-result { break-inside:avoid; }
  .pdf-help { display:none; }
}

/* Separate website redesign preview */
.preview-site { --preview-cyan:#61c3d0; --preview-green:#00823a; --preview-ink:#172326; min-height:100vh; overflow:hidden; color:var(--preview-ink); background:#fff; }
.preview-review-bar { display:flex; align-items:center; justify-content:center; gap:14px; min-height:34px; padding:6px 22px; color:#dbe5e7; background:#151b1d; font-size:11px; }
.preview-review-bar span { padding:3px 8px; border-radius:20px; color:#0c282e; background:var(--preview-cyan); font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.preview-review-bar p { margin:0; }
.preview-header { position:relative; z-index:20; display:grid; grid-template-columns:220px 1fr auto; gap:22px; align-items:center; min-height:102px; padding:13px max(3vw,calc((100vw - 1540px)/2)); background:white; border-bottom:1px solid #e5eaeb; }
.preview-logo img { display:block; width:205px; max-height:76px; object-fit:contain; object-position:left center; }
.preview-header>nav { display:flex; justify-content:flex-end; gap:24px; }
.preview-header>nav a { color:#334144; font-size:13px; font-weight:760; text-decoration:none; white-space:nowrap; }
.preview-header>nav a:hover { color:var(--preview-green); }
.preview-header>nav a.active { color:var(--preview-green); }
.preview-header>nav a.active::after { content:""; display:block; height:2px; margin-top:7px; border-radius:2px; background:var(--preview-green); }
.preview-header-actions { display:flex; gap:9px; align-items:center; }
.preview-header-cta,.preview-menu-cta { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:0 16px; border-radius:5px; color:#102126; background:var(--preview-cyan); font-size:12px; font-weight:900; text-decoration:none; white-space:nowrap; }
.preview-header-cta.bosch-cta,.preview-menu-cta.bosch-cta { color:white; background:#00823a; }
.preview-header-cta.bosch-cta:hover,.preview-menu-cta.bosch-cta:hover { background:#087542; }
.preview-header-cta.active { box-shadow:inset 0 0 0 2px var(--preview-green); }
.preview-mobile-menu { display:none; position:relative; }
.preview-mobile-menu summary { display:flex; align-items:center; gap:9px; min-height:44px; padding:0 13px; border:1px solid #d1dcde; border-radius:5px; color:#253235; background:white; font-size:13px; font-weight:850; cursor:pointer; list-style:none; }
.preview-mobile-menu summary::-webkit-details-marker { display:none; }
.preview-mobile-menu summary span { color:var(--preview-green); font-size:19px; }
.preview-mobile-menu nav { position:absolute; top:52px; right:0; display:flex; flex-direction:column; gap:2px; width:min(330px,86vw); padding:12px; border:1px solid #dbe3e4; border-radius:7px; background:white; box-shadow:0 20px 50px rgba(19,38,42,.18); }
.preview-mobile-menu nav a { padding:12px; border-radius:4px; color:#2d3b3e; font-size:13px; font-weight:760; text-decoration:none; }
.preview-mobile-menu nav a.active:not(.preview-menu-cta) { color:var(--preview-green); background:#eef8f3; }
.preview-mobile-menu nav .preview-menu-cta { margin-top:5px; }
.preview-hero { display:grid; grid-template-columns:1.04fr .96fr; min-height:690px; background:#1f2c2f; }
.preview-hero-media { position:relative; min-height:690px; overflow:hidden; }
.preview-hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,rgba(21,33,36,.06),rgba(25,41,44,.22)); }
.preview-hero-media img { display:block; width:100%; height:100%; object-fit:cover; object-position:56% center; filter:saturate(.92) contrast(1.04); }
.preview-hero-media img.preview-hero-project-photo { object-position:50% 66%; }
.preview-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:75px clamp(36px,6vw,105px) 75px clamp(38px,5.6vw,92px); color:white; }
.preview-kicker { margin:0 0 16px; color:var(--preview-green); font-size:12px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.preview-hero-copy .preview-kicker,.preview-projects .preview-kicker,.preview-contact .preview-kicker { color:#88dce5; }
.preview-hero h1 { max-width:740px; font-size:clamp(47px,5.2vw,78px); line-height:.98; letter-spacing:-.048em; }
.preview-hero-copy>p:not(.preview-kicker) { max-width:630px; margin:27px 0 0; color:#dce5e6; font-size:19px; line-height:1.55; }
.preview-hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:34px; }
.preview-button-primary,.preview-button-ghost { display:inline-flex; align-items:center; justify-content:center; min-height:54px; padding:0 23px; border-radius:5px; font-size:14px; font-weight:900; text-decoration:none; transition:transform .18s ease,filter .18s ease; }
.preview-button-primary { color:#102126; background:var(--preview-cyan); }
.preview-button-ghost { color:white; border:1px solid #708083; background:rgba(255,255,255,.06); }
.preview-button-primary:hover,.preview-button-ghost:hover { transform:translateY(-2px); filter:brightness(.96); }
.preview-hero-note { display:flex; flex-direction:column; gap:5px; max-width:620px; margin-top:39px; padding:17px 19px; border-left:4px solid var(--preview-green); background:rgba(255,255,255,.07); }
.preview-hero-note b { color:white; font-size:13px; }
.preview-hero-note span { color:#bfcacc; font-size:11px; line-height:1.45; }
.preview-trust { display:grid; grid-template-columns:.75fr 1.25fr 1.25fr .9fr; max-width:1420px; margin:-1px auto 0; border-right:1px solid #dfe6e7; border-bottom:1px solid #dfe6e7; background:white; }
.preview-trust>div { display:flex; flex-direction:column; justify-content:center; min-height:126px; padding:24px 30px; border-left:1px solid #dfe6e7; }
.preview-trust strong { color:var(--preview-green); font-size:20px; line-height:1.15; }
.preview-trust span { margin-top:7px; color:#667477; font-size:11px; line-height:1.42; }
.preview-section { max-width:1420px; margin:0 auto; padding:105px max(4vw,54px); }
.preview-section-head { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(300px,.72fr); gap:80px; align-items:end; margin-bottom:46px; }
.preview-section-head.compact { grid-template-columns:1fr; }
.preview-section-head h2,.preview-calculator-copy h2,.preview-about-copy h2,.preview-contact h2 { margin:0; font-size:clamp(37px,4.2vw,61px); line-height:1.03; letter-spacing:-.04em; }
.preview-section-head>p { margin:0; color:#617073; font-size:16px; line-height:1.62; }
.preview-service-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.preview-service-card { overflow:hidden; border:1px solid #dfe6e7; border-radius:9px; background:white; box-shadow:0 14px 34px rgba(25,48,53,.07); }
.preview-service-image { height:260px; overflow:hidden; background:#e7edee; }
.preview-service-image img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.preview-service-card:first-child .preview-service-image img { object-position:center 38%; }
.preview-service-card:nth-child(2) .preview-service-image img { object-position:45% center; }
.preview-service-card:hover .preview-service-image img { transform:scale(1.025); }
.preview-service-card>div:last-child { display:flex; flex-direction:column; min-height:255px; padding:27px; }
.preview-service-card span { color:var(--preview-green); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.preview-service-card h3 { margin:9px 0 11px; font-size:27px; line-height:1.08; }
.preview-service-card p { flex:1; margin:0; color:#647276; line-height:1.55; }
.preview-service-card a { margin-top:23px; color:var(--preview-green); font-size:13px; font-weight:850; text-decoration:none; }
.preview-service-card-wide { grid-column:1/-1; display:grid; grid-template-columns:.86fr 1.14fr; }
.preview-service-card-wide .preview-service-image { height:auto; min-height:340px; }
.preview-service-card-wide .preview-service-image img { object-position:center 58%; }
.preview-service-card-wide>div:last-child { min-height:340px; justify-content:center; padding:42px; }
.preview-solar-visual { position:relative; width:100%; height:100%; overflow:hidden; background:linear-gradient(155deg,#d8f2f4 0%,#f4fbfb 56%,#c9d6d0 57%,#8aa194 100%); }
.preview-sun { position:absolute; top:27px; right:40px; width:66px; height:66px; border-radius:50%; background:#f5cf56; box-shadow:0 0 0 18px rgba(245,207,86,.16); }
.preview-roof { position:absolute; right:-5%; bottom:12%; width:73%; height:49%; background:#34474b; clip-path:polygon(0 100%,16% 0,100% 0,100% 100%); }
.preview-panel { position:absolute; bottom:25%; width:29%; height:31%; border:5px solid #d2e4e6; border-radius:3px; background:repeating-linear-gradient(90deg,transparent 0 29%,rgba(202,231,235,.58) 30% 32%),repeating-linear-gradient(0deg,#214f59 0 28%,#76aab3 29% 31%); transform:skewY(-5deg); box-shadow:0 12px 20px rgba(21,45,50,.26); }
.preview-panel.panel-one { right:34%; }
.preview-panel.panel-two { right:4%; }
.preview-battery { position:absolute; left:9%; bottom:13%; display:flex; align-items:center; justify-content:center; width:92px; height:142px; border:5px solid #e8eeee; border-radius:9px; color:white; background:linear-gradient(160deg,#2b3b3e,#182426); box-shadow:0 15px 28px rgba(21,45,50,.28); }
.preview-battery::before { content:""; position:absolute; top:13px; width:37px; height:5px; border-radius:5px; background:#718386; }
.preview-battery i { position:absolute; right:15px; bottom:17px; left:15px; height:8px; border-radius:8px; background:linear-gradient(90deg,var(--preview-green) 0 78%,#405054 78%); }
.preview-battery b { color:#83dce5; font-size:25px; letter-spacing:-.05em; }
.preview-energy-line { position:absolute; left:calc(9% + 89px); bottom:25%; width:19%; height:3px; background:var(--preview-cyan); box-shadow:0 0 10px rgba(97,195,208,.72); }
.preview-calculator-section { display:grid; grid-template-columns:1.06fr .94fr; gap:8vw; align-items:center; padding:100px max(5vw,calc((100vw - 1320px)/2)); background:linear-gradient(135deg,#eef6f6,#f8fbfb); }
.preview-calculator-copy>p:not(.preview-kicker) { max-width:700px; margin:24px 0 0; color:#57676a; font-size:17px; line-height:1.65; }
.preview-calculator-copy ul { display:grid; grid-template-columns:1fr 1fr; gap:12px 28px; margin:29px 0 34px; padding:0; list-style:none; }
.preview-calculator-copy li { position:relative; padding-left:23px; color:#344649; font-size:13px; font-weight:740; line-height:1.45; }
.preview-calculator-copy li::before { content:"✓"; position:absolute; left:0; top:0; color:var(--preview-green); font-weight:950; }
.preview-calculator-card { padding:35px; border-top:8px solid var(--preview-cyan); border-radius:10px; background:white; box-shadow:0 24px 65px rgba(24,53,58,.16); }
.preview-calculator-top { display:flex; justify-content:space-between; gap:22px; color:#354548; font-size:12px; }
.preview-calculator-top span { color:var(--preview-green); font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.preview-calculator-top b { color:#7a8789; }
.preview-progress { display:grid; grid-template-columns:repeat(8,1fr); gap:5px; margin:19px 0 31px; }
.preview-progress i { height:5px; border-radius:5px; background:#e1e8e9; }
.preview-progress i:first-child { background:var(--preview-cyan); }
.preview-calculator-card>p { margin:0 0 17px; font-size:23px; font-weight:900; letter-spacing:-.02em; }
.preview-room-sample { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-top:10px; padding:16px; border:2px solid #b9dde1; border-radius:7px; background:#f5fbfb; }
.preview-room-sample div { display:flex; flex-direction:column; gap:3px; }
.preview-room-sample span { color:#758284; font-size:10px; font-weight:800; text-transform:uppercase; }
.preview-room-sample b { font-size:15px; }
.preview-room-sample strong { color:var(--preview-green); font-size:20px; }
.preview-room-sample.muted-sample { border-color:#dfe6e7; background:white; }
.preview-room-sample.muted-sample strong { display:grid; place-items:center; width:34px; height:34px; border-radius:50%; color:white; background:var(--preview-green); }
.preview-calculator-start { display:flex; justify-content:center; margin-top:23px; padding:16px; border-radius:5px; color:#102126; background:var(--preview-cyan); font-size:13px; font-weight:900; text-decoration:none; }
.preview-process { padding-top:98px; padding-bottom:105px; }
.preview-process .preview-section-head { max-width:870px; }
.preview-process-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid #dce4e5; border-left:1px solid #dce4e5; }
.preview-process-grid article { min-height:235px; padding:31px; border-right:1px solid #dce4e5; border-bottom:1px solid #dce4e5; }
.preview-process-grid b { color:var(--preview-cyan); font-size:12px; }
.preview-process-grid h3 { margin:31px 0 10px; font-size:21px; }
.preview-process-grid p { margin:0; color:#667477; font-size:13px; line-height:1.55; }
.preview-projects { padding:103px max(5vw,calc((100vw - 1420px)/2)); color:white; background:#1e292c; }
.preview-section-head.light>p { color:#b8c5c7; }
.preview-project-grid { display:grid; grid-template-columns:1.15fr .85fr .85fr; grid-template-rows:280px 280px; gap:15px; }
.preview-project-grid article { position:relative; overflow:hidden; border-radius:7px; background:#344346; }
.preview-project-grid article:first-child { grid-row:1/3; }
.preview-project-grid article:last-child { grid-column:2/4; }
.preview-project-grid img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.preview-project-grid article:first-child img { object-position:47% center; }
.preview-project-grid article:nth-child(2) img { object-position:center 36%; }
.preview-project-grid article:last-child img { object-position:center 56%; }
.preview-project-grid article::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(10,20,22,.82),rgba(10,20,22,0) 56%); }
.preview-project-grid article:hover img { transform:scale(1.025); }
.preview-project-grid article>div { position:absolute; z-index:1; right:0; bottom:0; left:0; padding:25px; }
.preview-project-grid span { color:#8fe0e9; font-size:9px; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.preview-project-grid h3 { max-width:470px; margin:6px 0 0; font-size:19px; line-height:1.25; }
.preview-project-grid article:first-child h3 { font-size:26px; }
.preview-project-actions { display:flex; justify-content:space-between; gap:25px; margin-top:27px; }
.preview-project-actions a { color:white; font-size:13px; font-weight:850; text-decoration:none; }
.preview-project-actions a:last-child { color:#8fe0e9; }
.preview-reviews { padding:92px max(5vw,calc((100vw - 1420px)/2)); background:#f1f6f5; }
.preview-review-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:38px; }
.preview-review-grid article { display:flex; flex-direction:column; min-height:265px; padding:29px; border:1px solid #d8e4e0; border-radius:8px; background:white; box-shadow:0 10px 28px rgba(27,58,50,.06); }
.preview-review-grid span { color:#e3a11a; font-size:18px; letter-spacing:.08em; }
.preview-review-grid p { color:#465854; font-size:14px; line-height:1.7; }
.preview-review-grid b { margin-top:auto; color:var(--preview-green); font-size:11px; }
.preview-about { display:grid; grid-template-columns:1.08fr .92fr; align-items:stretch; background:#fff; }
.preview-about-image { min-height:610px; overflow:hidden; background:#e5eaeb; }
.preview-about-image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center center; }
.preview-about-image img.preview-team-beach { object-position:center 63%; }
.preview-about-copy { display:flex; flex-direction:column; justify-content:center; padding:78px max(5vw,calc((100vw - 1420px)/2)) 78px 6vw; }
.preview-about-copy>p:not(.preview-kicker) { margin:24px 0 0; color:#59686b; font-size:16px; line-height:1.65; }
.preview-about-points { display:grid; gap:0; margin:27px 0 30px; border-top:1px solid #dde5e6; }
.preview-about-points span { position:relative; padding:14px 0 14px 25px; border-bottom:1px solid #dde5e6; color:#36484b; font-size:13px; font-weight:760; }
.preview-about-points span::before { content:"✓"; position:absolute; left:0; color:var(--preview-green); font-weight:900; }
.preview-about-copy>a { color:var(--preview-green); font-size:13px; font-weight:900; text-decoration:none; }
.preview-career { display:grid; grid-template-columns:.9fr 1.1fr; min-height:620px; color:white; background:#103e36; }
.preview-career-image { min-height:520px; overflow:hidden; }
.preview-career-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.preview-career-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:76px 7vw; }
.preview-career-copy h2 { margin:0 0 20px; font-size:clamp(42px,4.6vw,67px); line-height:.98; letter-spacing:-.045em; }
.preview-career-copy>p:not(.preview-kicker) { max-width:720px; color:#d3e4df; font-size:17px; line-height:1.7; }
.preview-career-copy ul { display:grid; gap:10px; margin:20px 0 30px; padding:0; list-style:none; }
.preview-career-copy li { position:relative; padding-left:24px; color:#e3f1ed; font-size:14px; }
.preview-career-copy li::before { content:"✓"; position:absolute; left:0; color:#86dce5; font-weight:900; }
.preview-contact { display:grid; grid-template-columns:.8fr 1.2fr; gap:75px; align-items:center; padding:92px max(5vw,calc((100vw - 1420px)/2)); color:white; background:var(--preview-green); }
.preview-contact h2 { max-width:620px; font-size:clamp(37px,4vw,56px); }
.preview-contact-options { display:grid; grid-template-columns:repeat(4,1fr); gap:11px; }
.preview-contact-options a { display:flex; flex-direction:column; min-height:175px; padding:22px; border:1px solid rgba(255,255,255,.28); border-radius:7px; color:white; background:rgba(255,255,255,.08); text-decoration:none; transition:background .18s ease,transform .18s ease; }
.preview-contact-options a:hover { transform:translateY(-2px); background:rgba(255,255,255,.14); }
.preview-contact-options span { color:#b5ead1; font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.preview-contact-options b { margin:10px 0 8px; font-size:19px; }
.preview-contact-options small { margin-top:auto; color:#dbefe4; font-size:11px; line-height:1.45; }
.preview-footer { display:grid; grid-template-columns:1.3fr 1fr 1fr .65fr; gap:50px; padding:55px max(5vw,calc((100vw - 1420px)/2)); color:#aeb9bb; background:#191f20; }
.preview-footer>div { display:flex; flex-direction:column; align-items:flex-start; gap:8px; }
.preview-footer img { width:190px; max-width:100%; margin-bottom:8px; }
.preview-footer p { margin:0; color:#8d9a9c; font-size:12px; }
.preview-footer b { margin-bottom:4px; color:white; font-size:13px; }
.preview-footer a,.preview-footer span { color:#b8c2c4; font-size:12px; line-height:1.45; text-decoration:none; }
.preview-footer a:hover { color:var(--preview-cyan); }

@media (max-width:1560px) {
  .preview-header { grid-template-columns:205px 1fr auto; }
  .preview-header>nav { display:none; }
  .preview-mobile-menu { display:block; justify-self:end; grid-column:2; grid-row:1; }
  .preview-header-actions { grid-column:3; }
  .preview-contact { grid-template-columns:1fr; gap:37px; }
}

@media (max-width:900px) {
  .preview-hero { grid-template-columns:1fr; }
  .preview-hero-media { min-height:430px; max-height:55vh; }
  .preview-hero-copy { padding:65px 7vw 70px; }
  .preview-trust { grid-template-columns:1fr 1fr; }
  .preview-section-head,.preview-calculator-section,.preview-about { grid-template-columns:1fr; }
  .preview-section-head { gap:20px; }
  .preview-service-grid { grid-template-columns:1fr; }
  .preview-service-card { display:grid; grid-template-columns:.75fr 1.25fr; }
  .preview-service-card>div:last-child { min-height:270px; }
  .preview-service-image { height:auto; min-height:270px; }
  .preview-calculator-section { gap:55px; }
  .preview-process-grid { grid-template-columns:1fr 1fr; }
  .preview-project-grid { grid-template-columns:1fr 1fr; grid-template-rows:390px 260px 300px; }
  .preview-project-grid article:first-child { grid-column:1/3; grid-row:auto; }
  .preview-project-grid article:last-child { grid-column:1/3; }
  .preview-about-image { min-height:470px; max-height:620px; }
  .preview-about-copy { padding:70px 7vw; }
  .preview-contact-options { grid-template-columns:1fr 1fr; }
  .preview-review-grid { grid-template-columns:1fr; }
  .preview-career { grid-template-columns:1fr; }
  .preview-career-image { min-height:430px; }
  .preview-footer { grid-template-columns:1fr 1fr; }
}

@media (max-width:650px) {
  .preview-review-bar { justify-content:flex-start; gap:8px; padding-right:14px; padding-left:14px; }
  .preview-review-bar p { font-size:9px; }
  .preview-header { grid-template-columns:1fr auto; min-height:88px; padding:10px 16px; }
  .preview-logo img { width:152px; max-height:63px; }
  .preview-header-actions { display:none; }
  .preview-mobile-menu { grid-column:2; }
  .preview-hero-media { min-height:320px; }
  .preview-hero h1 { font-size:45px; }
  .preview-hero-copy { padding:52px 20px 58px; }
  .preview-hero-copy>p:not(.preview-kicker) { font-size:17px; }
  .preview-hero-actions { flex-direction:column; align-items:stretch; }
  .preview-trust { grid-template-columns:1fr; margin:0; }
  .preview-trust>div { min-height:100px; padding:20px; }
  .preview-section { padding:70px 20px; }
  .preview-section-head h2,.preview-calculator-copy h2,.preview-about-copy h2,.preview-contact h2 { font-size:39px; }
  .preview-service-card { display:block; }
  .preview-service-image { height:245px; min-height:0; }
  .preview-service-card>div:last-child { min-height:260px; }
  .preview-calculator-section { padding:70px 20px; }
  .preview-calculator-copy ul { grid-template-columns:1fr; }
  .preview-calculator-card { padding:27px 19px; }
  .preview-calculator-card>p { font-size:20px; }
  .preview-process-grid { grid-template-columns:1fr; border-left:0; }
  .preview-process-grid article { min-height:0; padding:28px 0; border-right:0; }
  .preview-projects { padding:70px 20px; }
  .preview-project-grid { display:grid; grid-template-columns:1fr; grid-template-rows:none; }
  .preview-project-grid article,.preview-project-grid article:first-child,.preview-project-grid article:last-child { grid-column:auto; grid-row:auto; height:300px; }
  .preview-project-grid article:first-child { height:410px; }
  .preview-project-actions { flex-direction:column; }
  .preview-about-image { min-height:340px; }
  .preview-about-copy { padding:63px 20px; }
  .preview-reviews { padding:66px 20px; }
  .preview-review-grid article { min-height:220px; }
  .preview-career-copy { padding:62px 20px; }
  .preview-career-copy h2 { font-size:39px; }
  .preview-contact { padding:66px 20px; }
  .preview-contact-options { grid-template-columns:1fr; }
  .preview-contact-options a { min-height:132px; }
  .preview-footer { grid-template-columns:1fr; gap:31px; padding:50px 20px; }
}

@media print {
  .preview-review-bar,.preview-header { display:none; }
}

/* WordPress-Liveintegration */
.kkw-live-header { position:sticky; top:0; z-index:1000; }
.admin-bar .kkw-live-header { top:32px; }
.kkw-live-reviews { margin-top:38px; }
.kkw-live-reviews:empty { display:none; }
.kkw-editor-page { min-height:60vh; background:#f6f9f8; }
.kkw-editor-page>.content-section { max-width:1120px; margin:0 auto; background:white; }
.kkw-editor-page h1 { margin-bottom:30px; }
.kkw-editor-content { color:#42524f; font-size:16px; line-height:1.7; }
.kkw-editor-content form { max-width:880px; }
.kkw-editor-content input:not([type=checkbox]):not([type=radio]),.kkw-editor-content select,.kkw-editor-content textarea { width:100%; min-height:48px; padding:10px 13px; border:1px solid #cbd5d7; border-radius:5px; background:white; }
.kkw-editor-content textarea { min-height:140px; }
.kkw-editor-content button,.kkw-editor-content input[type=submit] { min-height:49px; padding:0 22px; border:0; border-radius:5px; color:#102126; background:var(--cyan); font-weight:900; cursor:pointer; }
.kkw-generator-page { min-height:70vh; }
.kkw-generator-page #kuhlmann-generator-root>section.content-section { min-height:55vh; }
@media (max-width:782px) { .admin-bar .kkw-live-header { top:46px; } }
@media print { .kkw-live-header,.preview-footer { display:none!important; } }

/* Energy and commercial pages in the website redesign */
.energy-page { --energy-ink:#182629; }
.energy-hero { display:grid; grid-template-columns:.92fr 1.08fr; min-height:660px; color:white; background:#1f2c2f; }
.energy-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:76px clamp(35px,5.5vw,92px) 76px max(5vw,calc((100vw - 1420px)/2)); }
.energy-hero-copy .eyebrow { color:#8adfe8; }
.energy-hero-copy h1 { max-width:720px; font-size:clamp(52px,5.4vw,82px); line-height:.97; }
.energy-hero-copy>p:not(.eyebrow) { max-width:680px; margin:28px 0 0; color:#d9e3e4; font-size:19px; line-height:1.6; }
.energy-hero-copy .text-link { color:#91e1e9; }
.energy-hero-image { position:relative; min-height:660px; overflow:hidden; background:#dfe8e9; }
.energy-hero-image>img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; filter:saturate(.92) contrast(1.03); }
.energy-hero-image::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(15,28,31,.54),transparent 42%); pointer-events:none; }
.energy-hero-image>div:last-child { position:absolute; z-index:1; right:28px; bottom:27px; left:28px; display:flex; flex-direction:column; gap:5px; padding:17px 19px; border-left:4px solid var(--cyan); color:white; background:rgba(18,32,35,.82); backdrop-filter:blur(6px); }
.energy-hero-image>div:last-child span { color:#8adfe8; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.energy-hero-image>div:last-child b { font-size:15px; }
.energy-visual-wrap>.preview-solar-visual { height:100%; }
.energy-visual-wrap>.preview-solar-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(19,38,42,.22),transparent 45%); }
.energy-visual-wrap::after { display:none; }
.heatpump-cards article { min-height:275px; }
.system-combination { display:grid; grid-template-columns:.95fr 1.05fr; gap:7vw; align-items:center; padding:90px max(5vw,calc((100vw - 1280px)/2)); color:white; background:#223033; }
.system-combination h2 { max-width:680px; margin:8px 0 20px; font-size:clamp(37px,4vw,58px); line-height:1.02; letter-spacing:-.04em; }
.system-combination>div:first-child>p:not(.section-kicker) { max-width:690px; margin:0 0 29px; color:#cfdbdc; font-size:16px; line-height:1.65; }
.system-combination .section-kicker { color:#8adfe8; }
.system-flow { display:grid; grid-template-columns:1fr auto 1.25fr auto 1fr; gap:10px; align-items:center; }
.system-flow article { display:flex; flex-direction:column; justify-content:center; min-height:180px; padding:22px; border:1px solid #526164; border-radius:8px; background:rgba(255,255,255,.045); text-align:center; }
.system-flow article.featured { min-height:220px; border:2px solid var(--cyan); background:#f4fbfb; color:var(--energy-ink); box-shadow:0 20px 45px rgba(0,0,0,.18); }
.system-flow article span { display:grid; place-items:center; width:29px; height:29px; margin:0 auto 18px; border-radius:50%; color:#163134; background:var(--cyan); font-size:11px; font-weight:900; }
.system-flow article b { font-size:17px; line-height:1.2; }
.system-flow article small { margin-top:8px; color:#b9c5c7; line-height:1.4; }
.system-flow article.featured small { color:#667477; }
.system-flow>i { color:#86dce5; font-size:24px; font-style:normal; }
.bosch-inquiry { padding:96px max(5vw,calc((100vw - 1320px)/2)); background:#edf5f5; }
.bosch-inquiry-head { display:grid; grid-template-columns:1fr auto; gap:70px; align-items:end; margin-bottom:34px; }
.bosch-inquiry-head h2 { max-width:760px; margin:8px 0 18px; font-size:clamp(38px,4.3vw,61px); line-height:1.02; letter-spacing:-.04em; }
.bosch-inquiry-head>div:first-child>p:not(.section-kicker) { max-width:820px; margin:0; color:#536367; font-size:17px; line-height:1.65; }
.bosch-inquiry-facts { display:grid; gap:9px; min-width:245px; }
.bosch-inquiry-facts span { position:relative; padding:11px 14px 11px 38px; border:1px solid #cfe0e1; border-radius:5px; color:#304347; background:white; font-size:12px; font-weight:850; }
.bosch-inquiry-facts span::before { content:"✓"; position:absolute; left:14px; color:var(--green); font-weight:900; }
.bosch-tool-frame { min-height:520px; padding:24px; overflow:hidden; border:1px solid #cfdcde; border-top:7px solid var(--cyan); border-radius:9px; background:white; box-shadow:0 20px 50px rgba(31,61,67,.12); }
.bosch-tool-frame noscript p { margin:0; padding:18px; color:#526164; line-height:1.55; }
.bosch-tool-frame noscript a { color:var(--green); font-weight:800; }
.bosch-inquiry-help { display:flex; justify-content:space-between; gap:30px; align-items:center; margin-top:20px; padding:19px 22px; border-radius:7px; background:#dfeaea; }
.bosch-inquiry-help>div { display:flex; flex-direction:column; gap:4px; }
.bosch-inquiry-help span { color:var(--green); font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.bosch-inquiry-help b { color:#2b3b3e; font-size:14px; }
.bosch-climate-entry { display:grid; grid-template-columns:1fr auto; gap:60px; align-items:center; padding:72px max(5vw,calc((100vw - 1280px)/2)); color:white; background:#223033; }
.bosch-climate-entry h2 { max-width:780px; margin:8px 0 17px; font-size:clamp(36px,4vw,56px); line-height:1.04; letter-spacing:-.04em; }
.bosch-climate-entry p:not(.section-kicker) { max-width:850px; margin:0; color:#cbd7d9; font-size:16px; line-height:1.62; }
.bosch-climate-entry .section-kicker { color:#8adfe8; }
.bosch-climate-entry .primary-link { min-width:290px; }
.bosch-landing-hero { display:grid; grid-template-columns:1.05fr .95fr; gap:7vw; align-items:center; min-height:620px; padding:80px max(5vw,calc((100vw - 1320px)/2)); color:white; background:linear-gradient(125deg,#1f2c2f 0%,#24383b 62%,#175438 100%); }
.bosch-landing-copy h1 { max-width:780px; font-size:clamp(52px,6vw,86px); line-height:.97; letter-spacing:-.05em; }
.bosch-landing-copy>p:not(.eyebrow) { max-width:720px; margin:27px 0 0; color:#d9e4e5; font-size:19px; line-height:1.62; }
.bosch-landing-copy .eyebrow { color:#8adfe8; }
.bosch-landing-copy .text-link { color:#9ee4eb; }
.bosch-choice-panel { display:grid; gap:12px; padding:25px; border:1px solid rgba(255,255,255,.2); border-radius:10px; background:rgba(255,255,255,.08); box-shadow:0 24px 55px rgba(0,0,0,.18); backdrop-filter:blur(6px); }
.bosch-choice-panel article { display:grid; grid-template-columns:52px 1fr; gap:16px; align-items:center; padding:20px; border-radius:7px; color:#213033; background:white; }
.bosch-choice-panel article>span { display:grid; place-items:center; width:46px; height:46px; border-radius:50%; color:#173127; background:#9fe0bc; font-size:12px; font-weight:900; }
.bosch-choice-panel b { font-size:20px; }
.bosch-choice-panel p { margin:6px 0 0; color:#647275; font-size:12px; line-height:1.5; }
.bosch-choice-panel>small { padding:4px 5px 0; color:#cbd8da; font-size:11px; line-height:1.45; }
.bosch-landing-steps { display:grid; grid-template-columns:repeat(3,1fr); max-width:1320px; margin:0 auto; border-right:1px solid #dce5e6; }
.bosch-landing-steps article { display:flex; align-items:center; gap:17px; min-height:112px; padding:22px 28px; border-left:1px solid #dce5e6; border-bottom:1px solid #dce5e6; background:white; }
.bosch-landing-steps b { display:grid; place-items:center; flex:none; width:34px; height:34px; border-radius:50%; color:white; background:var(--green); font-size:12px; }
.bosch-landing-steps span { color:#344649; font-size:13px; font-weight:800; line-height:1.4; }
.bosch-landing-tool { scroll-margin-top:20px; }
.solar-solution-grid { grid-template-columns:repeat(4,1fr); }
.balcony-climate { display:grid; grid-template-columns:.9fr 1.1fr; gap:7vw; align-items:center; padding:95px max(5vw,calc((100vw - 1320px)/2)); background:white; }
.balcony-climate h2,.energy-manager h2,.system-advice h2 { margin:8px 0 20px; font-size:clamp(38px,4.3vw,61px); line-height:1.02; letter-spacing:-.04em; }
.balcony-climate>div:last-child>p:not(.section-kicker) { margin:0; color:#57676a; font-size:17px; line-height:1.65; }
.balcony-climate ul { display:grid; gap:10px; margin:25px 0; padding:0; list-style:none; }
.balcony-climate li { position:relative; padding-left:24px; color:#35474a; font-size:14px; line-height:1.45; }
.balcony-climate li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }
.honest-note { display:flex; flex-direction:column; gap:4px; margin:0 0 27px; padding:14px 16px; border-left:4px solid #d5a031; background:#fff8e8; }
.honest-note b { color:#71551b; font-size:12px; }
.honest-note span { color:#665a3d; font-size:11px; line-height:1.5; }
.balcony-illustration { position:relative; min-height:570px; overflow:hidden; border-radius:10px; background:linear-gradient(180deg,#cfeef2 0 60%,#dfd6c9 60% 67%,#eef1ef 67%); box-shadow:0 23px 60px rgba(33,62,68,.15); }
.balcony-illustration::before { content:""; position:absolute; left:0; right:0; top:57%; height:13px; background:#657275; box-shadow:0 26px 0 #657275; }
.balcony-sun { position:absolute; top:56px; right:63px; width:82px; height:82px; border-radius:50%; background:#f4ce55; box-shadow:0 0 0 22px rgba(244,206,85,.18); }
.balcony-panel { position:absolute; z-index:1; left:8%; top:42%; display:grid; grid-template-columns:1fr 1fr; gap:3px; width:50%; height:155px; padding:7px; border:6px solid #dde9ea; border-radius:5px; background:#244f58; transform:perspective(600px) rotateY(8deg); box-shadow:0 17px 28px rgba(24,53,58,.26); }
.balcony-panel i { border:1px solid #91bfc6; background:repeating-linear-gradient(90deg,#25535c 0 30%,#72aab3 31% 33%); }
.balcony-ac { position:absolute; z-index:2; right:9%; top:49%; width:31%; height:76px; border:4px solid #e1e6e7; border-radius:8px 8px 13px 13px; background:linear-gradient(#fff 0 70%,#e8eeee); box-shadow:0 14px 25px rgba(30,55,60,.25); }
.balcony-ac i { position:absolute; right:18%; bottom:10px; left:18%; height:5px; border-radius:5px; background:var(--cyan); }
.balcony-ac b { position:absolute; top:11px; right:14px; color:#6c7779; font-size:10px; }
.balcony-line { position:absolute; z-index:1; right:24%; bottom:20%; width:36%; height:4px; background:var(--cyan); box-shadow:0 0 13px rgba(97,195,208,.9); transform:rotate(24deg); transform-origin:right; }
.energy-manager { display:grid; grid-template-columns:1.08fr .92fr; gap:7vw; align-items:center; padding:100px max(5vw,calc((100vw - 1400px)/2)); background:#edf5f5; }
.energy-manager-copy>p:not(.section-kicker):not(.compatibility-note) { margin:0; color:#536367; font-size:17px; line-height:1.65; }
.manager-benefits { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:28px 0; }
.manager-benefits article { display:flex; flex-direction:column; gap:7px; min-height:125px; padding:20px; border:1px solid #d7e1e2; border-radius:7px; background:white; }
.manager-benefits b { color:var(--green); font-size:14px; }
.manager-benefits span { color:#627174; font-size:12px; line-height:1.48; }
.compatibility-note { margin:0!important; padding:13px 15px; border-left:4px solid var(--cyan); color:#556568!important; background:#fff; font-size:11px!important; line-height:1.5!important; }
.manager-link { margin-top:23px; }
.manager-diagram { position:relative; display:grid; grid-template-columns:1fr 1fr; gap:14px; min-height:560px; align-content:center; padding:48px; border-radius:50%; background:radial-gradient(circle,#d9efec 0 28%,#fff 29% 30%,#d5e3e4 31% 31.5%,#f9fbfb 32% 68%,transparent 69%); }
.manager-diagram::before,.manager-diagram::after { content:""; position:absolute; z-index:0; background:#8acbd2; opacity:.55; }
.manager-diagram::before { top:15%; bottom:15%; left:50%; width:2px; }
.manager-diagram::after { top:50%; right:15%; left:15%; height:2px; }
.manager-diagram article { position:relative; z-index:1; display:flex; flex-direction:column; justify-content:center; min-height:115px; padding:18px; border:1px solid #cfdddf; border-radius:8px; background:white; box-shadow:0 10px 28px rgba(31,61,67,.09); text-align:center; }
.manager-diagram article span { color:var(--green); font-size:9px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.manager-diagram article b { margin-top:6px; font-size:16px; }
.manager-diagram .manager-core { position:absolute; z-index:2; top:50%; left:50%; width:190px; min-height:190px; transform:translate(-50%,-50%); border:6px solid white; border-radius:50%; color:white; background:#263638; box-shadow:0 18px 40px rgba(24,52,57,.28); }
.manager-core small { color:#86dce5; font-size:16px; font-weight:900; }
.manager-core b { margin:7px 0!important; font-size:20px!important; }
.manager-core i { color:#c7d5d7; font-size:10px; font-style:normal; }
.system-advice { display:grid; grid-template-columns:1fr auto; gap:70px; align-items:end; }
.system-advice>div>p:not(.section-kicker) { max-width:840px; margin:18px 0 0; color:#5c6b6e; font-size:16px; line-height:1.65; }
.business-hero { background:linear-gradient(120deg,#edf4f4,#d9e8e9); }
.business-images { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.business-images img { display:block; width:100%; height:430px; object-fit:cover; border-radius:8px; box-shadow:0 14px 34px rgba(25,48,53,.1); }
.career-hero { display:grid; grid-template-columns:1fr 1fr; min-height:690px; background:#eaf3f2; }
.career-hero-copy { display:flex; flex-direction:column; justify-content:center; padding:90px max(6vw,calc((100vw - 1400px)/2)); padding-right:6vw; }
.career-hero-copy h1 { margin:8px 0 24px; font-size:clamp(58px,6vw,92px); line-height:.91; letter-spacing:-.055em; }
.career-hero-copy>p:not(.eyebrow) { max-width:720px; color:#526366; font-size:19px; line-height:1.65; }
.career-hero-image { position:relative; min-height:620px; overflow:hidden; }
.career-hero-image img { width:100%; height:100%; object-fit:cover; object-position:center 56%; }
.career-hero-image span { position:absolute; right:26px; bottom:26px; left:26px; padding:16px 19px; border-radius:6px; color:white; background:rgba(10,43,37,.82); font-size:14px; font-weight:800; backdrop-filter:blur(8px); }
.career-vacancy { display:grid; grid-template-columns:1fr 360px; gap:8vw; align-items:center; padding:92px max(5vw,calc((100vw - 1400px)/2)); }
.career-vacancy h2,.career-process h2,.career-crosslink h2 { margin:8px 0 18px; font-size:clamp(38px,4.2vw,60px); line-height:1.03; letter-spacing:-.04em; }
.career-vacancy>div>p:not(.section-kicker),.career-process>div>p { max-width:790px; color:#58696b; font-size:17px; line-height:1.7; }
.career-vacancy aside { display:flex; flex-direction:column; gap:11px; padding:28px; border-radius:9px; color:white; background:var(--preview-green); box-shadow:0 18px 45px rgba(10,68,48,.18); }
.career-vacancy aside span { color:#9fe0c3; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.career-vacancy aside b { padding-bottom:10px; border-bottom:1px solid rgba(255,255,255,.18); font-size:18px; }
.career-vacancy aside a { margin-top:7px; color:white; font-weight:900; text-decoration:none; }
.career-benefits { grid-template-columns:repeat(3,1fr); }
.career-process { display:grid; grid-template-columns:1fr .9fr; gap:60px; align-items:center; }
.career-process>.primary-link { grid-column:1/-1; justify-self:start; }
.career-steps { display:grid; gap:12px; }
.career-steps article { display:grid; grid-template-columns:48px 1fr; gap:14px; align-items:center; padding:17px 19px; border:1px solid #d8e3df; border-radius:7px; background:#fff; }
.career-steps b { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; color:white; background:var(--green); }
.career-steps span { font-weight:800; }
.career-crosslink { display:grid; grid-template-columns:1fr auto; gap:50px; align-items:end; padding:80px max(5vw,calc((100vw - 1400px)/2)); color:white; background:#123d36; }
.career-crosslink span { color:#86dce5; font-size:10px; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.career-crosslink p { color:#c7d9d3; }
.career-crosslink a { color:white; font-size:17px; font-weight:900; text-decoration:none; }

/* Leihkälte landing page */
.rental-hero { background:linear-gradient(125deg,#17292d,#23474a); }
.rental-hero-image>img { object-position:center 66%; }
.rental-range-cards article { min-height:285px; }
.rental-project { display:grid; grid-template-columns:.82fr 1.18fr; gap:7vw; align-items:center; }
.rental-project-copy h2 { margin:8px 0 21px; font-size:clamp(38px,4.3vw,61px); line-height:1.02; letter-spacing:-.04em; }
.rental-project-copy>p:not(.section-kicker) { color:#58686b; font-size:16px; line-height:1.7; }
.rental-project-copy ul { display:grid; gap:11px; margin:27px 0 0; padding:0; list-style:none; }
.rental-project-copy li { position:relative; padding-left:25px; color:#35474a; font-size:14px; line-height:1.5; }
.rental-project-copy li::before { content:"✓"; position:absolute; left:0; color:var(--green); font-weight:900; }
.rental-project-images { display:grid; grid-template-columns:.8fr 1.2fr; gap:15px; min-height:600px; }
.rental-project-images img { display:block; width:100%; height:100%; min-height:600px; object-fit:cover; border-radius:8px; box-shadow:0 18px 42px rgba(25,48,53,.13); }
.rental-project-images img:first-child { object-position:center 52%; }
.rental-project-images img:last-child { object-position:center 62%; }
.rental-contact-band { background:linear-gradient(115deg,#0a684a,#0d8d64); }

@media (max-width:1100px) {
  .energy-hero { grid-template-columns:1fr; }
  .energy-hero-copy { padding:66px 7vw; }
  .energy-hero-image { min-height:520px; }
  .system-combination,.balcony-climate,.energy-manager { grid-template-columns:1fr; }
  .bosch-inquiry-head { grid-template-columns:1fr; gap:27px; align-items:start; }
  .bosch-inquiry-facts { grid-template-columns:repeat(3,1fr); width:100%; }
  .solar-solution-grid { grid-template-columns:1fr 1fr; }
  .system-advice { grid-template-columns:1fr; gap:28px; align-items:start; }
  .manager-diagram { max-width:670px; width:100%; margin:auto; }
  .bosch-climate-entry,.bosch-landing-hero { grid-template-columns:1fr; }
  .bosch-climate-entry { align-items:start; }
  .bosch-climate-entry .primary-link { justify-self:start; }
  .video-feature { grid-template-columns:1fr; }
  .video-feature > div:first-child { max-width:760px; }
  .career-hero { grid-template-columns:1fr; }
  .career-hero-image { min-height:520px; }
  .career-vacancy { grid-template-columns:1fr; }
  .career-vacancy aside { max-width:520px; }
  .career-benefits { grid-template-columns:1fr 1fr; }
  .rental-project { grid-template-columns:1fr; }
  .rental-project-images { min-height:500px; }
  .rental-project-images img { min-height:500px; }
}

@media (max-width:700px) {
  .energy-hero-copy { padding:54px 20px 58px; }
  .energy-hero-copy h1 { font-size:45px; }
  .energy-hero-copy>p:not(.eyebrow) { font-size:17px; }
  .energy-hero-image { min-height:370px; }
  .system-combination,.balcony-climate,.energy-manager { padding:67px 20px; }
  .bosch-inquiry { padding:67px 20px; }
  .bosch-inquiry-facts { grid-template-columns:1fr; }
  .bosch-tool-frame { min-height:420px; padding:10px; }
  .bosch-inquiry-help { align-items:stretch; flex-direction:column; }
  .bosch-climate-entry,.bosch-landing-hero { padding:60px 20px; }
  .bosch-climate-entry { gap:28px; }
  .bosch-climate-entry .primary-link { width:100%; min-width:0; }
  .bosch-landing-copy h1 { font-size:45px; }
  .bosch-landing-copy>p:not(.eyebrow) { font-size:17px; }
  .bosch-choice-panel { padding:13px; }
  .bosch-choice-panel article { grid-template-columns:42px 1fr; padding:16px; }
  .bosch-choice-panel article>span { width:38px; height:38px; }
  .bosch-landing-steps { grid-template-columns:1fr; border-right:0; }
  .system-flow { grid-template-columns:1fr; }
  .system-flow>i { transform:rotate(90deg); justify-self:center; }
  .system-flow article,.system-flow article.featured { min-height:145px; }
  .solar-solution-grid,.manager-benefits,.business-images { grid-template-columns:1fr; }
  .balcony-illustration { min-height:420px; }
  .video-feature { gap:30px; }
  .video-feature h2 { font-size:38px; }
  .career-hero-copy { padding:58px 20px; }
  .career-hero-copy h1 { font-size:49px; }
  .career-hero-copy>p:not(.eyebrow) { font-size:17px; }
  .career-hero-image { min-height:390px; }
  .career-vacancy,.career-process,.career-crosslink { padding:64px 20px; }
  .career-benefits,.career-process,.career-crosslink { grid-template-columns:1fr; }
  .career-process { gap:30px; }
  .balcony-panel { top:40%; width:56%; height:120px; }
  .balcony-ac { top:50%; width:34%; height:59px; }
  .manager-diagram { min-height:500px; padding:28px 15px; border-radius:18px; background:#f8fbfb; }
  .manager-diagram .manager-core { width:155px; min-height:155px; }
  .manager-diagram article { min-height:105px; padding:12px; }
  .manager-diagram article b { font-size:13px; }
  .business-images img { height:300px; }
  .rental-project { padding:65px 20px; }
  .rental-project-images { grid-template-columns:1fr; min-height:0; }
  .rental-project-images img { min-height:0; height:380px; }
}

@media (max-width:900px) {
  .preview-service-card-wide { grid-column:auto; grid-template-columns:.75fr 1.25fr; }
  .preview-service-card-wide .preview-service-image,
  .preview-service-card-wide>div:last-child { min-height:270px; }
  .preview-service-card-wide>div:last-child { padding:27px; }
}

@media (max-width:650px) {
  .preview-service-card-wide { display:block; }
  .preview-service-card-wide .preview-service-image { min-height:260px; }
}
