:root {
  --background: #ffffff;
  --foreground: #171717;
}

@media (prefers-color-scheme: dark) {
  :root {
    --background: #0a0a0a;
    --foreground: #ededed;
  }
}

body {
  background: var(--background);
  color: var(--foreground);
  font-family: Arial, Helvetica, sans-serif;
}

/* Energievertrieb Curella */
@media (prefers-color-scheme: dark) { :root { --background:#fff; --foreground:#0a1714; } }
:root { --ink:#0a1714; --green:#72f20d; --deep:#09251e; --muted:#61706b; --line:#dce5e1; --cream:#f6f9f6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--ink); background:#fff; font-family:Arial,Helvetica,sans-serif; }
a { color:inherit; text-decoration:none; }
button,input { font:inherit; }
.announcement { height:32px; background:var(--deep); color:#dfffd1; display:flex; align-items:center; justify-content:center; text-transform:uppercase; letter-spacing:.16em; font-size:10px; font-weight:700; }
.site-header { height:86px; display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding:0 clamp(22px,5vw,76px); border-bottom:1px solid #e5ece8; position:relative; z-index:10; background:rgba(255,255,255,.94); }
.brand { width:176px; height:78px; display:block; overflow:hidden; }
.brand img { width:100%; height:100%; object-fit:contain; }
.site-header nav { display:flex; gap:38px; font-size:13px; font-weight:700; }
.site-header nav a:hover { color:#3c9b00; }
.header-phone { justify-self:end; display:flex; flex-direction:column; text-align:right; font-weight:800; font-size:16px; }
.header-phone span { font-size:9px; text-transform:uppercase; color:#72817b; letter-spacing:.15em; margin-bottom:4px; }
.hero { min-height:700px; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(350px,.78fr); gap:clamp(48px,7vw,110px); align-items:center; padding:70px clamp(24px,7vw,110px); background:linear-gradient(125deg,#f8fbf8 0%,#eff9eb 55%,#e2ffd0 100%); }
.glow { position:absolute; border-radius:50%; pointer-events:none; }
.glow-one { width:550px; height:550px; right:-250px; top:-200px; border:1px solid rgba(78,165,20,.2); }
.glow-two { width:320px; height:320px; left:-190px; bottom:-140px; background:#c9ff9f; opacity:.35; }
.hero-copy { position:relative; z-index:2; max-width:690px; }
.eyebrow,.kicker { font-size:11px; text-transform:uppercase; letter-spacing:.2em; font-weight:800; color:#408b0d; }
.eyebrow { display:flex; align-items:center; gap:9px; }
.eyebrow i { width:24px; height:2px; background:var(--green); }
h1,h2,h3,p { margin-top:0; }
.hero h1 { font-size:clamp(54px,6.3vw,94px); line-height:.92; letter-spacing:-.065em; margin:24px 0 28px; }
.hero h1 em,.benefit-panel h2 em { font-style:normal; color:#52bb08; }
.hero-lead { font-size:18px; line-height:1.65; color:#4c5d57; max-width:610px; }
.hero-actions { display:flex; gap:12px; margin:34px 0; }
.button { min-height:54px; padding:0 22px; display:inline-flex; align-items:center; justify-content:center; gap:14px; border-radius:8px; font-weight:800; font-size:14px; }
.button.primary { background:var(--green); box-shadow:0 12px 34px rgba(78,174,8,.2); }
.button.primary:hover { background:#62d40a; transform:translateY(-1px); }
.button.secondary { background:#fff; border:1px solid #d9e2dd; }
.button.ghost { border:1px solid rgba(255,255,255,.32); color:#fff; }
.trust-row { display:flex; gap:32px; margin-top:40px; }
.trust-row>div { display:flex; gap:10px; align-items:center; }
.trust-row strong { display:grid; place-items:center; width:28px; height:28px; border-radius:50%; background:#dcffc2; color:#347d00; }
.trust-row span { display:flex; flex-direction:column; }
.trust-row b { font-size:12px; }
.trust-row small { font-size:10px; color:#77847f; margin-top:3px; }
.switch-card { position:relative; z-index:3; background:#fff; border-radius:16px; padding:30px; box-shadow:0 26px 70px rgba(18,59,39,.16); border:1px solid rgba(255,255,255,.8); }
.card-top { display:flex; justify-content:space-between; gap:20px; font-size:10px; text-transform:uppercase; letter-spacing:.12em; color:#5d6a65; font-weight:700; }
.card-top b { color:#3a8507; }
.switch-card h2 { font-size:31px; letter-spacing:-.045em; margin:23px 0 8px; }
.switch-card>p { font-size:13px; color:#69756f; }
.switch-card form { display:grid; gap:14px; margin-top:24px; }
.switch-card label { display:grid; gap:7px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; color:#52615b; }
.switch-card input { height:48px; border:1px solid #dce5e1; border-radius:7px; padding:0 13px; background:#fbfcfb; font-size:14px; text-transform:none; letter-spacing:0; outline:none; }
.switch-card input:focus { border-color:#65cd19; box-shadow:0 0 0 3px #e8ffd8; }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.switch-card button { height:54px; border:0; border-radius:7px; background:var(--ink); color:#fff; font-size:13px; font-weight:800; cursor:pointer; }
.switch-card button:hover { background:#17392f; }
.privacy { text-align:center; color:#7b8782; font-size:9px; }
.success { padding:10px; background:#ebffdd; color:#276800; font-size:11px; border-radius:6px; }
.proof-strip { min-height:72px; display:flex; align-items:center; justify-content:center; gap:28px; border-bottom:1px solid var(--line); font-size:10px; text-transform:uppercase; letter-spacing:.16em; font-weight:800; color:#52615b; }
.proof-strip i { width:4px; height:4px; background:var(--green); border-radius:50%; }
.section { padding:100px clamp(24px,7vw,110px); }
.section-heading { display:grid; grid-template-columns:1.3fr .7fr; gap:80px; align-items:end; margin-bottom:48px; }
.section-heading h2,.faq h2 { font-size:clamp(38px,4.3vw,62px); letter-spacing:-.055em; line-height:1.02; margin:16px 0 0; max-width:700px; }
.section-heading p { color:var(--muted); line-height:1.7; font-size:15px; margin:0; }
.step-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.step-grid article { position:relative; min-height:285px; border:1px solid var(--line); padding:30px; border-radius:12px; background:#fff; }
.step-grid article>span { position:absolute; right:24px; top:22px; font-size:11px; color:#82908a; font-weight:800; }
.step-grid .featured { background:var(--deep); color:#fff; border-color:var(--deep); transform:translateY(-10px); }
.step-icon { width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:#e9ffda; color:#347b00; font-size:24px; margin-bottom:52px; }
.featured .step-icon { background:var(--green); color:var(--ink); }
.step-grid h3 { font-size:20px; margin-bottom:12px; }
.step-grid p { font-size:13px; line-height:1.65; color:#6c7974; }
.featured p { color:#bed0c8; }
.benefits { display:grid; grid-template-columns:1fr 1fr; background:var(--deep); color:#fff; }
.benefit-panel { padding:90px clamp(28px,7vw,110px); }
.kicker.light { color:#a9ff69; }
.benefit-panel h2 { font-size:clamp(42px,5vw,70px); line-height:1.02; letter-spacing:-.055em; margin:20px 0 26px; }
.benefit-panel p { max-width:550px; line-height:1.8; color:#bdd0c8; }
.benefit-panel>a { display:inline-flex; gap:14px; margin-top:20px; padding-bottom:8px; border-bottom:2px solid var(--green); font-weight:800; font-size:14px; }
.benefit-list { background:#0e3027; padding:70px clamp(28px,6vw,90px); display:flex; flex-direction:column; justify-content:center; }
.benefit-list article { display:grid; grid-template-columns:55px 1fr; gap:20px; padding:29px 0; border-bottom:1px solid rgba(255,255,255,.13); }
.benefit-list article:last-child { border-bottom:0; }
.benefit-list b { color:var(--green); font-size:11px; }
.benefit-list h3 { font-size:21px; margin-bottom:8px; }
.benefit-list p { font-size:13px; line-height:1.6; color:#acc2b9; margin:0; }
.testimonial { text-align:center; max-width:1000px; margin:auto; }
.quote-mark { font:88px Georgia; color:var(--green); height:60px; }
.testimonial blockquote { font:clamp(28px,3.4vw,46px)/1.3 Georgia,serif; letter-spacing:-.025em; margin:20px auto 34px; }
.quote-author { display:flex; justify-content:center; gap:12px; align-items:center; }
.avatar { width:42px; height:42px; border-radius:50%; display:grid; place-items:center; background:var(--deep); color:var(--green); font-weight:900; font-size:12px; }
.quote-author span { display:flex; flex-direction:column; text-align:left; }
.quote-author b { font-size:12px; }
.quote-author small { font-size:10px; color:#78847f; margin-top:4px; }
.faq { display:grid; grid-template-columns:.8fr 1.2fr; gap:100px; background:var(--cream); }
.faq>div>p { color:var(--muted); line-height:1.7; max-width:400px; }
.text-link { display:inline-block; margin-top:14px; font-weight:800; font-size:13px; border-bottom:2px solid var(--green); padding-bottom:6px; }
.faq-list details { border-bottom:1px solid #cfdad5; padding:23px 0; }
.faq-list summary { list-style:none; font-weight:800; display:flex; justify-content:space-between; cursor:pointer; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary span { color:#54b90b; font-size:20px; }
.faq-list p { font-size:13px; line-height:1.7; color:var(--muted); margin:15px 35px 0 0; }
.final-cta { padding:90px 24px; text-align:center; background:#09251e; color:#fff; }
.final-cta h2 { font-size:clamp(42px,5.2vw,74px); line-height:1; letter-spacing:-.055em; margin:18px 0; }
.final-cta p { color:#b5c9c1; }
.centered { justify-content:center; }
.final-cta .button.primary { color:#0a1714; }
footer { display:grid; grid-template-columns:2fr 1fr 1fr; gap:40px; padding:60px clamp(24px,7vw,110px) 32px; background:#061a15; color:#fff; }
footer>div { display:flex; flex-direction:column; gap:10px; }
footer b { font-size:11px; color:#9cafaa; text-transform:uppercase; letter-spacing:.14em; margin-bottom:8px; }
footer a { font-size:12px; color:#dce8e3; }
.footer-brand img { width:190px; height:112px; object-fit:contain; filter:brightness(0) invert(1); }
.footer-brand p { font-size:12px; color:#9cafaa; }
footer>small { grid-column:1/-1; border-top:1px solid rgba(255,255,255,.1); padding-top:22px; color:#789087; font-size:10px; }
.whatsapp-float { position:fixed; right:20px; bottom:20px; z-index:30; background:#20c767; color:#fff; border-radius:999px; padding:13px 18px; display:flex; align-items:center; gap:9px; box-shadow:0 12px 32px rgba(0,0,0,.22); font-size:13px; }
.whatsapp-float span { font-size:22px; line-height:0; color:#fff; }
.whatsapp-float:hover { transform:translateY(-2px); }
@media(max-width:900px){
  .site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.hero{grid-template-columns:1fr;padding-top:55px}.hero-copy{max-width:none}.trust-row{flex-wrap:wrap}.switch-card{max-width:570px;width:100%;margin:auto}.section-heading,.faq{grid-template-columns:1fr;gap:35px}.step-grid{grid-template-columns:1fr}.step-grid .featured{transform:none}.benefits{grid-template-columns:1fr}.benefit-list{padding-top:25px;padding-bottom:45px}
}
@media(max-width:600px){
  .announcement{font-size:8px}.site-header{height:72px;padding:0 18px}.brand{width:92px;height:58px}.header-phone{font-size:13px}.header-phone span{display:none}.hero{padding:45px 18px 55px;gap:38px}.hero h1{font-size:51px}.hero-lead{font-size:16px}.hero-actions{flex-direction:column}.button{width:100%}.trust-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.switch-card{padding:23px 18px}.field-row{grid-template-columns:1fr}.proof-strip{height:auto;padding:20px;flex-wrap:wrap;gap:12px 18px;text-align:center}.section{padding:72px 20px}.section-heading{margin-bottom:30px}.step-grid article{min-height:240px}.benefit-panel{padding:70px 22px}.benefit-list{padding-left:22px;padding-right:22px}.faq{padding:70px 20px}.final-cta{padding:75px 20px}footer{grid-template-columns:1fr 1fr;padding:45px 22px 90px}.footer-brand{grid-column:1/-1}.whatsapp-float b{display:none}.whatsapp-float{width:54px;height:54px;padding:0;justify-content:center}.whatsapp-float span{font-size:28px}
}

[hidden] { display:none!important; }
.hp-field { position:absolute!important; left:-9999px!important; width:1px!important; height:1px!important; opacity:0!important; pointer-events:none!important; }
#form-step-one,#form-step-two { display:grid; gap:14px; }
.form-error { padding:11px 13px; border-radius:7px; color:#8d1d11; background:#fff0ee; border:1px solid #ffc9c2; font-size:12px; line-height:1.45; }
.legal-page { width:min(760px,calc(100% - 36px)); margin:0 auto; padding:50px 0 90px; }
.legal-logo { display:block; width:210px; height:125px; margin-bottom:45px; overflow:hidden; }
.legal-logo img { width:100%; height:100%; object-fit:contain; transform:scale(1.12); }
.legal-page h1 { font-size:clamp(42px,7vw,72px); letter-spacing:-.055em; margin:14px 0 32px; }
.legal-page h2 { margin:32px 0 10px; font-size:22px; }
.legal-page p { line-height:1.75; color:#4f6059; }
.legal-warning { padding:18px 20px; background:#fff4cf; border:1px solid #f1d67c; border-radius:9px; line-height:1.55; }
.brand img { transform:scale(1.13); }
@media(max-width:600px){.brand{width:126px;height:66px}.brand img{transform:scale(1.12)}.footer-brand img{width:165px;height:98px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

/* Premium conversion edition */
.announcement { justify-content:space-between; padding:0 clamp(22px,7vw,110px); }
.premium-hero { min-height:760px; background:#f4f8f4; }
.hero-grid { position:absolute; inset:0; opacity:.42; background-image:linear-gradient(rgba(9,37,30,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(9,37,30,.035) 1px,transparent 1px); background-size:48px 48px; mask-image:linear-gradient(90deg,#000,transparent 78%); }
.premium-hero:after { content:""; position:absolute; width:620px; height:620px; right:-220px; top:-150px; border-radius:50%; border:110px solid rgba(114,242,13,.11); }
.premium-hero .hero-copy { max-width:760px; }
.premium-hero h1 { font-size:clamp(52px,5.8vw,88px); }
.micro-proof { display:flex; flex-wrap:wrap; gap:11px 24px; color:#43534d; font-size:11px; font-weight:700; }
.premium-card { padding:28px; overflow:hidden; }
.card-headline { display:flex; justify-content:space-between; align-items:start; gap:20px; }
.card-headline h2 { margin:8px 0 0; }
.card-headline>b { width:34px; height:34px; display:grid; place-items:center; border-radius:50%; background:#ecffde; color:#367d00; font-size:11px; }
.mini-label { font-size:9px; text-transform:uppercase; letter-spacing:.15em; color:#557067; font-weight:800; }
.progress { height:3px; background:#e4ebe7; margin:22px -28px 24px; }
.progress i { display:block; height:100%; background:var(--green); transition:width .25s ease; }
.premium-card form { margin-top:0; }
.product-tabs { display:grid; grid-template-columns:1fr 1fr; gap:8px; padding:5px; border-radius:9px; background:#edf2ef; }
.switch-card .product-tabs button { height:44px; background:transparent; color:#53635d; border:0; box-shadow:none; }
.switch-card .product-tabs button.active { background:#fff; color:var(--ink); box-shadow:0 3px 12px rgba(12,40,30,.1); }
.switch-card fieldset { border:0; padding:0; margin:0; }
.switch-card legend { margin-bottom:8px; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.09em; color:#52615b; }
.people-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:7px; }
.switch-card .people-grid button { height:43px; background:#f7faf8; color:#45564f; border:1px solid #dce5e1; box-shadow:none; }
.switch-card .people-grid button.active { background:var(--deep); border-color:var(--deep); color:#fff; }
.input-unit { position:relative; }
.input-unit input { width:100%; padding-right:52px; }
.input-unit span { position:absolute; right:13px; top:17px; color:#7b8782; font-size:10px; text-transform:none; }
.switch-card label small { text-transform:none; letter-spacing:0; font-weight:400; color:#87928e; }
.switch-card select { height:48px; border:1px solid #dce5e1; border-radius:7px; padding:0 13px; background:#fbfcfb; font-size:14px; outline:none; }
.switch-card .form-submit { height:54px; background:var(--green); color:var(--ink); }
.switch-card .form-submit:hover { background:#62d40a; }
.switch-card .back { height:auto; justify-self:start; background:transparent; color:#52615b; padding:0; font-size:11px; box-shadow:none; }
.selection-summary { display:flex; gap:8px; }
.selection-summary span { padding:7px 10px; border-radius:5px; background:#eff6eb; color:#3a780d; font-size:10px; font-weight:800; }
.consent { display:grid!important; grid-template-columns:18px 1fr; align-items:start; text-transform:none!important; letter-spacing:0!important; font-weight:400!important; line-height:1.45; }
.consent input { width:16px; height:16px; padding:0; accent-color:#438e0c; }
.consent a { text-decoration:underline; }
.confidence-bar { display:grid; grid-template-columns:repeat(4,1fr); padding:0 clamp(24px,7vw,110px); border-bottom:1px solid var(--line); }
.confidence-bar>div { min-height:88px; display:flex; flex-direction:column; justify-content:center; padding:0 26px; border-right:1px solid var(--line); }
.confidence-bar>div:first-child { border-left:1px solid var(--line); }
.confidence-bar b { font-size:12px; }
.confidence-bar span { margin-top:5px; color:#75817c; font-size:10px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.service-grid article { min-height:440px; position:relative; padding:34px; border:1px solid var(--line); border-radius:14px; display:flex; flex-direction:column; }
.service-grid article.service-main { background:#edffdf; border-color:#d5f9b9; }
.service-number { position:absolute; top:28px; right:28px; font-size:10px; color:#7c8b85; font-weight:800; }
.service-icon { width:52px; height:52px; border-radius:50%; display:grid; place-items:center; background:var(--deep); color:var(--green); font-size:21px; margin-bottom:48px; }
.service-icon.gas { background:#edf4ef; color:#20735b; }.service-icon.business { background:#fff3d7; color:#7d5c00; }
.service-grid h3 { font-size:25px; margin-bottom:12px; }.service-grid p { color:#68766f; font-size:13px; line-height:1.65; }.service-grid ul { list-style:none; padding:0; margin:12px 0 28px; }.service-grid li { padding:9px 0; border-bottom:1px solid rgba(10,23,20,.1); font-size:12px; }.service-grid li:before { content:"✓"; color:#4ca406; margin-right:8px; font-weight:800; }.service-grid article>a { margin-top:auto; font-size:12px; font-weight:800; }
.dark-section { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; padding:110px clamp(24px,7vw,110px); color:#fff; background:var(--deep); }
.dark-copy h2 { font-size:clamp(45px,5vw,72px); line-height:.98; letter-spacing:-.055em; margin:20px 0 25px; }.dark-copy p { max-width:590px; color:#b7cbc3; line-height:1.8; }.dark-copy .button { margin-top:16px; color:var(--ink); }
.comparison-card { background:#fff; color:var(--ink); border-radius:15px; padding:12px 28px; box-shadow:0 25px 70px rgba(0,0,0,.18); }.comparison-card>div { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:20px 4px; border-bottom:1px solid #e3ebe7; font-size:12px; }.comparison-card>div:last-child { border-bottom:0; }.comparison-card span { color:#7a8782; }.comparison-card strong { color:#174c39; }.comparison-card .comparison-head { margin:0 -28px; padding:17px 32px; background:#effbe8; font-size:9px; text-transform:uppercase; letter-spacing:.12em; border-radius:15px 15px 0 0; }
.process { display:grid; grid-template-columns:.8fr 1.2fr; gap:110px; }.process-intro { position:sticky; top:40px; align-self:start; }.process-intro h2 { font-size:clamp(42px,4.3vw,64px); line-height:1; letter-spacing:-.055em; margin:18px 0 24px; }.process-intro p { color:var(--muted); line-height:1.7; }.process-list { margin:0; padding:0; list-style:none; }.process-list li { display:grid; grid-template-columns:65px 1fr; gap:18px; padding:27px 0; border-bottom:1px solid var(--line); }.process-list li>b { color:#55b70c; font-size:11px; }.process-list h3 { font-size:21px; margin-bottom:8px; }.process-list p { color:var(--muted); line-height:1.6; font-size:13px; margin:0; }
.bill-cta { margin:0 clamp(20px,4vw,60px) 100px; padding:65px clamp(25px,6vw,80px); border-radius:18px; display:flex; align-items:center; justify-content:space-between; gap:40px; background:#eaffda; }.bill-cta h2 { font-size:clamp(34px,4vw,56px); letter-spacing:-.05em; margin:13px 0; }.bill-cta p { margin:0; color:#567064; }.whatsapp-button { min-width:240px; background:#20c767; color:#fff; }
footer { grid-template-columns:2fr 1fr 1fr 1fr; }
.mobile-conversion { display:none; }
@media(max-width:900px){
  .announcement span:last-child{display:none}.confidence-bar{grid-template-columns:1fr 1fr}.confidence-bar>div:nth-child(3){border-left:1px solid var(--line)}.service-grid{grid-template-columns:1fr}.service-grid article{min-height:340px}.dark-section{grid-template-columns:1fr;gap:55px}.process{grid-template-columns:1fr;gap:50px}.process-intro{position:static}.bill-cta{align-items:flex-start;flex-direction:column}.bill-cta .button{width:100%}footer{grid-template-columns:1fr 1fr}.footer-brand{grid-column:1/-1}
}
@media(max-width:600px){
  .premium-hero{min-height:auto}.premium-hero h1{font-size:47px}.micro-proof{display:grid;grid-template-columns:1fr 1fr}.confidence-bar{grid-template-columns:1fr 1fr;padding:0 12px}.confidence-bar>div{min-height:78px;padding:0 12px}.service-grid article{padding:26px;min-height:360px}.service-icon{margin-bottom:34px}.dark-section{padding:74px 20px}.comparison-card{padding:10px 18px}.comparison-card>div{gap:14px;padding:17px 2px;font-size:11px}.comparison-card .comparison-head{margin:0 -18px;padding:15px 20px}.process-list li{grid-template-columns:45px 1fr}.bill-cta{margin:0 12px 75px;padding:43px 22px}.faq{padding-bottom:90px}footer{padding-bottom:120px}.whatsapp-float{bottom:76px}.mobile-conversion{position:fixed;display:grid;grid-template-columns:.75fr 1.25fr;left:0;right:0;bottom:0;z-index:40;padding:8px;background:#fff;border-top:1px solid #dbe5df;box-shadow:0 -8px 30px rgba(0,0,0,.1)}.mobile-conversion a{height:48px;display:grid;place-items:center;border-radius:7px;font-size:12px;font-weight:800}.mobile-conversion a:first-child{border:1px solid #d7e0db}.mobile-conversion a:last-child{background:var(--green)}
}
