:root { --ink:#052d3a; --deep:#003f50; --teal:#006d73; --aqua:#d6f2e9; --mint:#dff7f0; --yellow:#ffd94f; --cream:#fbfaf7; --line:#d9e2e1; --copy:#47626a; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--cream); color:var(--ink); font-family:"DM Sans",Arial,sans-serif; }
a { color:inherit; text-decoration:none; }
.shell { width:min(1180px, calc(100% - 48px)); margin:0 auto; }
.service-bar { background:#eef3f1; border-bottom:1px solid #dce7e4; font-size:12px; }
.service-inner { min-height:37px; display:flex; align-items:center; justify-content:space-between; }
.audience-switch,.service-links { display:flex; align-items:center; gap:21px; }
.audience-switch a { color:#526e76; }.audience-switch .active { color:var(--ink); font-weight:700; }
.service-links a { color:#355963; }.service-links a:hover { text-decoration:underline; }
.nav-wrap { background:#fff; border-bottom:1px solid var(--line); }
.primary-nav { height:78px; display:flex; align-items:center; justify-content:space-between; gap:25px; }
.logo { display:flex; align-items:center; gap:8px; flex:none; font:800 22px/1 "Manrope",sans-serif; letter-spacing:-1.4px; }.logo > span:last-child span { color:var(--teal); }
.logo-sun { display:grid; place-items:center; width:31px; height:31px; border-radius:50%; background:var(--yellow); font-size:20px; }
.desktop-nav { display:flex; gap:clamp(16px,2.2vw,33px); height:100%; align-items:center; font-size:14px; font-weight:600; }.desktop-nav a { position:relative; padding:30px 0; }.desktop-nav a::after { position:absolute; bottom:20px; left:0; width:100%; height:2px; content:""; background:var(--teal); transform:scaleX(0); transition:transform .2s; }.desktop-nav a:hover::after { transform:scaleX(1); }
.desktop-nav a.is-active::after { transform:scaleX(1); }
.account-link { padding:10px 0; border-bottom:1px solid var(--ink); font-size:14px; font-weight:700; white-space:nowrap; }.account-link span { margin-right:5px; color:var(--teal); }.whatsapp-link,.phone-link { display:inline-flex; align-items:center; gap:6px; }.whatsapp-link svg,.phone-link svg { width:19px; height:19px; flex:none; }.whatsapp-link span,.phone-link span { margin:0; color:inherit; }.phone-link svg { color:var(--teal); }
.hero { overflow:hidden; background:#dcefeb; }.hero-layout { min-height:535px; display:grid; grid-template-columns:47% 53%; }.hero-copy { align-self:center; position:relative; z-index:1; padding:70px 7% 72px 0; }.kicker { margin:0 0 13px; color:#08717c; font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
h1,h2,h3,p { margin-top:0; } h1,h2,h3 { font-family:"Manrope",Arial,sans-serif; letter-spacing:-.055em; } h1 { max-width:550px; margin-bottom:22px; font-size:clamp(43px,5vw,70px); line-height:1.03; } h1 em { color:var(--teal); font-style:normal; } .hero-copy > p:not(.kicker) { max-width:455px; margin-bottom:28px; color:#355963; font-size:17px; line-height:1.55; }
.tariff-form { max-width:470px; padding:20px; background:#fff; box-shadow:0 14px 31px rgba(14,63,72,.12); }.tariff-form label { display:block; margin-bottom:8px; font-size:13px; font-weight:700; }.form-row { display:flex; gap:8px; }.form-row input { width:100%; min-width:0; padding:14px 13px; border:1px solid #a7bdc2; border-radius:2px; color:var(--ink); font:14px "DM Sans",sans-serif; }.form-row button,.light-button { display:flex; align-items:center; justify-content:center; gap:16px; border:0; padding:0 17px; background:var(--ink); color:#fff; font:700 13px "DM Sans",sans-serif; white-space:nowrap; cursor:pointer; }.form-row button:hover,.light-button:hover { background:var(--teal); }.form-row button span,.light-button span { color:var(--yellow); font-size:20px; }.tariff-form small { display:block; margin-top:13px; color:#507079; font-size:11px; }
.hero-visual { position:relative; margin-right:calc((1180px - 100vw) / 2); min-height:100%; background-image:linear-gradient(90deg,rgba(220,239,235,.65),transparent 35%),url("assets/images/hero.png"); background-repeat:no-repeat; background-position:center,68% center; background-size:cover,cover; }.visual-chip { position:absolute; right:10%; bottom:10%; padding:17px 21px; background:var(--yellow); color:var(--ink); font-size:13px; font-weight:700; line-height:1.23; box-shadow:0 6px 17px rgba(0,0,0,.13); }.visual-chip span { font:800 30px/.9 "Manrope",sans-serif; }
.quick-links { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,1fr); margin-top:-38px; box-shadow:0 5px 24px rgba(7,47,57,.12); }.quick-links a { min-height:104px; display:flex; align-items:center; gap:13px; padding:18px 20px; background:#fff; border-right:1px solid var(--line); transition:background .2s; }.quick-links a:last-child { border:0; }.quick-links a:hover { background:var(--mint); }.quick-icon { display:grid; place-items:center; width:40px; height:40px; border-radius:50%; background:var(--aqua); color:var(--teal); font-size:23px; }.quick-links strong,.quick-links small { display:block; }.quick-links strong { margin-bottom:2px; font:700 16px "Manrope",sans-serif; letter-spacing:-.04em; }.quick-links small { color:#637f86; font-size:12px; }.quick-links b { margin-left:auto; color:var(--teal); font-size:20px; }
.section { padding:112px 0; }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:50px; margin-bottom:38px; }.section-heading h2,.gas-layout h2,.discover h2 { margin:0; font-size:clamp(34px,4vw,55px); line-height:1.05; }.section-heading > p { width:340px; margin:0; color:var(--copy); font-size:15px; line-height:1.55; }.product-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }.product-card { overflow:hidden; background:#fff; box-shadow:0 2px 5px rgba(3,47,57,.07); }.card-image { height:215px; background-image:url("assets/images/Card.png"); background-repeat:no-repeat; background-size:300% 200%; }.power-image { position:relative; background-image:url("assets/images/card3.png"); background-size:cover; background-position:center; }.heat-image { background-position:0 100%; }.solar-image { background-position:50% 100%; }.tag { position:absolute; top:15px; left:15px; padding:6px 9px; background:var(--yellow); font-size:11px; font-weight:700; }.card-body { padding:24px 25px 27px; }.card-overline { margin-bottom:8px; color:var(--teal); font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.09em; }.card-body h3 { min-height:55px; margin-bottom:11px; font-size:23px; line-height:1.13; }.card-body > p:not(.card-overline) { min-height:49px; margin-bottom:18px; color:var(--copy); font-size:14px; line-height:1.5; }.card-body a,.text-link { display:inline-flex; align-items:center; gap:14px; color:var(--teal); border-bottom:1px solid currentColor; padding-bottom:4px; font-size:13px; font-weight:700; }.card-body a span,.text-link span { font-size:19px; }
.gas-band { background:var(--ink); color:#fff; }.gas-layout { display:grid; grid-template-columns:45% 55%; min-height:430px; }.gas-layout > div:first-child { align-self:center; padding:55px 10% 55px 0; }.gas-layout .kicker { color:#91e4d4; }.gas-layout h2 { max-width:385px; margin-bottom:18px; }.gas-layout p:not(.kicker) { max-width:370px; color:#c7dbd9; line-height:1.55; }.text-link { color:#fff; margin-top:8px; }.gas-image { margin-right:calc((1180px - 100vw) / 2); background:url("assets/images/Card.png") 0 0/210% auto no-repeat; }
.discover { padding:105px 0; background:#f5d54e; }.discover-layout { display:grid; grid-template-columns:34% 66%; gap:52px; align-items:center; }.discover h2 { margin-bottom:18px; }.discover p:not(.kicker) { max-width:345px; color:#395c64; line-height:1.55; }.light-button { width:max-content; height:45px; margin-top:24px; }.discover img { width:100%; min-height:310px; object-fit:cover; object-position:center; box-shadow:12px 12px 0 var(--ink); }
.trust { padding:100px 0; }.trust-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:50px; margin-top:32px; border-top:1px solid var(--line); }.trust-grid div { padding-top:24px; }.trust-grid span { color:var(--teal); font-size:12px; font-weight:700; }.trust-grid h3 { margin:13px 0 9px; font-size:25px; }.trust-grid p { max-width:270px; margin:0; color:var(--copy); font-size:14px; line-height:1.5; }
footer { background:#002a38; color:#fff; }.footer-content { min-height:88px; display:flex; align-items:center; justify-content:center; }.footer-content nav { display:flex; align-items:center; gap:28px; }.footer-content a { color:#fff; font-size:13px; font-weight:600; }.footer-content a:hover { color:#9ae0d2; text-decoration:underline; }
@media (max-width:800px) { .shell { width:min(100% - 36px,1180px); }.desktop-nav { display:none; }.service-links { display:none; }.primary-nav { height:67px; }.hero-layout { grid-template-columns:1fr; }.hero-copy { padding:60px 0 70px; }.hero-visual { height:330px; margin:0 calc((100vw - 100%) / -2); background-position:center,65% center; }.quick-links { grid-template-columns:repeat(2,1fr); margin-top:0; }.quick-links a:nth-child(2) { border-right:0; }.quick-links a:nth-child(-n+2) { border-bottom:1px solid var(--line); }.section { padding:72px 0; }.section-heading { align-items:start; flex-direction:column; gap:17px; }.section-heading > p { width:auto; }.product-grid { grid-template-columns:1fr; }.card-image { height:250px; }.card-body h3,.card-body > p:not(.card-overline) { min-height:0; }.gas-layout,.discover-layout { grid-template-columns:1fr; gap:0; }.gas-layout > div:first-child { padding:64px 0 38px; }.gas-image { min-height:310px; margin:0 calc((100vw - 100%) / -2); background-size:190% auto; background-position:0 0; }.discover { padding:70px 0; }.discover img { margin:43px 0 0; min-height:220px; box-shadow:8px 8px 0 var(--ink); }.trust { padding:70px 0; }.trust-grid { grid-template-columns:1fr; gap:25px; } }
@media (max-width:440px) { .service-inner { justify-content:center; }.audience-switch { gap:30px; }.account-link { font-size:0; border:0; }.account-link span { margin:0; font-size:22px; }.hero-copy { padding:46px 0 50px; }.form-row { flex-direction:column; }.form-row button { min-height:47px; }.quick-links a { min-height:90px; padding:13px; }.quick-icon { width:34px; height:34px; }.quick-links strong { font-size:14px; }.quick-links b { display:none; } }

/* Gas-Anfrage */
.gas-page-hero { overflow:hidden; background:#e7f2ee; }.gas-page-hero-inner { display:grid; grid-template-columns:48% 52%; min-height:370px; }.gas-page-hero-inner > div:first-child { align-self:center; padding:56px 8% 56px 0; }.gas-page-hero h1 { margin-bottom:16px; font-size:clamp(39px,4.4vw,63px); }.gas-page-hero p:not(.kicker) { max-width:460px; margin:0; color:var(--copy); font-size:16px; line-height:1.55; }.gas-page-art { min-height:370px; margin-right:calc((1180px - 100vw) / 2); background:url("assets/images/Card.png") 0 0/215% auto no-repeat; }
.gas-form-section { display:grid; grid-template-columns:34% 66%; gap:64px; padding:92px 0 105px; align-items:start; }.form-intro { padding-top:25px; }.form-intro h2 { margin-bottom:16px; font-size:clamp(32px,3.2vw,45px); line-height:1.08; }.form-intro > p:not(.kicker) { color:var(--copy); line-height:1.55; }.form-intro ul { padding:8px 0 0; list-style:none; }.form-intro li { margin:14px 0; font-size:14px; font-weight:600; }.form-intro li::before { content:"✓"; display:inline-grid; place-items:center; width:18px; height:18px; margin-right:9px; border-radius:50%; background:var(--aqua); color:var(--teal); font-size:11px; }
.gas-form-card { padding:36px; background:#fff; box-shadow:0 9px 28px rgba(7,47,57,.12); }.gas-form-card fieldset { margin:0; padding:0 0 26px; border:0; }.gas-form-card legend { width:100%; margin:0 0 18px; padding:0 0 10px; border-bottom:1px solid var(--line); font:700 18px "Manrope",sans-serif; letter-spacing:-.04em; }.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }.field-wide { grid-column:1 / -1; }.gas-form-card label { display:block; margin-bottom:7px; font-size:13px; font-weight:700; }.gas-form-card label span { color:#6b858b; font-weight:400; }.gas-form-card input:not([type="checkbox"]),.gas-form-card select,.gas-form-card textarea { width:100%; border:1px solid #b6c7c9; border-radius:2px; padding:12px 13px; outline:none; color:var(--ink); background:#fff; font:14px "DM Sans",sans-serif; transition:border-color .2s,box-shadow .2s; }.gas-form-card select { min-height:44px; }.gas-form-card textarea { resize:vertical; min-height:95px; }.gas-form-card input:focus,.gas-form-card select:focus,.gas-form-card textarea:focus { border-color:var(--teal); box-shadow:0 0 0 3px rgba(0,109,115,.12); }.hidden-field { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }.consent { display:flex !important; align-items:flex-start; gap:10px; margin:0 !important; color:#46636a; font-size:12px !important; font-weight:400 !important; line-height:1.45; }.consent input { margin:3px 0 0; accent-color:var(--teal); }.consent a { color:var(--teal); text-decoration:underline; }.gas-submit { display:flex; align-items:center; gap:22px; margin-top:22px; padding:14px 19px; border:0; background:var(--ink); color:#fff; font:700 14px "DM Sans",sans-serif; cursor:pointer; }.gas-submit:hover { background:var(--teal); }.gas-submit span { color:var(--yellow); font-size:20px; }.required-note { margin:12px 0 0; color:#6b858b; font-size:11px; }.field-error,.form-alert { display:block; color:#ac213d; font-size:12px; line-height:1.35; }.field-error { margin-top:5px; }.consent-error { margin:7px 0 0 28px; }.form-alert { margin:0 0 20px; padding:11px 13px; background:#fff0f2; border-left:3px solid #ac213d; }.form-success { text-align:center; padding:45px 20px; }.form-success > span { display:grid; place-items:center; width:48px; height:48px; margin:0 auto 15px; border-radius:50%; background:var(--aqua); color:var(--teal); font-size:25px; font-weight:700; }.form-success h3 { margin-bottom:8px; font-size:25px; }.form-success p { max-width:330px; margin:0 auto; color:var(--copy); line-height:1.5; }
.form-section-title { display:flex; align-items:center; gap:11px; margin:4px 0 20px; padding:10px 14px 10px 0; border-bottom:2px solid var(--teal); color:var(--deep); font:800 17px "Manrope",sans-serif; letter-spacing:-.035em; text-transform:uppercase; }.form-section-title span { display:grid; place-items:center; width:31px; align-self:stretch; margin:-10px 0 -10px 0; background:#ef951d; color:#fff; font-size:16px; }.choice-grid { display:flex; flex-wrap:wrap; gap:16px 23px; margin:-4px 0 26px; }.choice-grid label { display:flex !important; align-items:center; gap:6px; margin:0 !important; font-size:14px !important; font-weight:500 !important; }.choice-grid input { accent-color:var(--teal); }.compact-choices { margin:0 0 2px; }
@media (max-width:800px) { .gas-page-hero-inner,.gas-form-section { grid-template-columns:1fr; }.gas-page-hero-inner > div:first-child { padding:55px 0 36px; }.gas-page-art { min-height:270px; margin:0 calc((100vw - 100%) / -2); background-size:180% auto; }.gas-form-section { gap:18px; padding:62px 0; }.form-intro { padding:0; }.gas-form-card { padding:26px; } }
@media (max-width:500px) { .form-grid { grid-template-columns:1fr; gap:15px; }.gas-form-card { padding:21px 18px; }.gas-form-card fieldset { padding-bottom:21px; }.gas-submit { width:100%; justify-content:center; }.gas-page-art { min-height:220px; background-size:170% auto; } }

/* PV-Anlagen-Anfrage */
.pv-form-section { display:grid; grid-template-columns:34% 66%; gap:64px; padding:92px 0 105px; align-items:start; }.pv-form-section .form-intro { padding-top:25px; }.pv-form-section h1 { margin-bottom:16px; font-size:clamp(38px,4vw,56px); line-height:1.06; }.pv-form-section .form-intro > p:not(.kicker) { color:var(--copy); line-height:1.55; }.pv-form-section .form-intro ul { padding:8px 0 0; list-style:none; }.pv-form-section .form-intro li { margin:14px 0; font-size:14px; font-weight:600; }.pv-form-section .form-intro li::before { content:"✓"; display:inline-grid; place-items:center; width:18px; height:18px; margin-right:9px; border-radius:50%; background:var(--aqua); color:var(--teal); font-size:11px; }.pv-form-card .form-grid { margin-bottom:28px; }.contact-methods { margin:0 0 24px !important; padding:16px 0 0 !important; border:0 !important; border-top:1px solid var(--line) !important; }.contact-methods legend { margin:0 0 15px !important; padding:0 !important; border:0 !important; font-size:15px !important; }.contact-methods .choice-grid { margin:0; }
@media (max-width:800px) { .pv-form-section { grid-template-columns:1fr; gap:18px; padding:62px 0; }.pv-form-section .form-intro { padding:0; } }

/* Datenschutzhinweise */
.legal-page { padding:84px 0 110px; background:#f8faf8; }.legal-content { max-width:850px; }.legal-content h1 { max-width:760px; margin-bottom:20px; font-size:clamp(38px,4.8vw,64px); line-height:1.04; }.legal-lead { max-width:690px; margin-bottom:34px; color:var(--copy); font-size:17px; line-height:1.6; }.legal-notice { margin:0 0 42px; padding:17px 19px; border-left:4px solid #ef951d; background:#fff5df; color:#5f4a1b; font-size:14px; line-height:1.55; }.legal-content section { padding:25px 0; border-top:1px solid var(--line); }.legal-content h2 { margin-bottom:12px; font-size:25px; line-height:1.15; }.legal-content p { max-width:760px; margin-bottom:13px; color:#415f67; line-height:1.62; }.legal-content a { color:var(--teal); text-decoration:underline; font-weight:600; }
@media (max-width:500px) { .legal-page { padding:58px 0 72px; }.legal-content section { padding:21px 0; } }

/* Bild der Wärmepumpenkarte */
#waerme .heat-image { background-image:url("assets/images/card2.png"); background-size:cover; background-position:center; }

/* Bild der PV-Anlagenkarte */
#solar .solar-image { background-image:url("assets/images/card1.png");background-size:cover; background-position:center; }
