/* Klimastratege – Ihr smarter Energieberater */
:root{
  --green:#8dc63f;
  --green-dark:#6fa000;
  --dark:#0e0e0e;
  --gray-bg:#f7f7f7;
  --gray-text:#5b5f5e;
  --border:#e3e5e4;
  --orange:#f58220;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Libre Franklin',Arial,Helvetica,sans-serif;line-height:1.65;color:var(--dark);background:#fff;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;transition:color .2s ease-in-out;}
a:hover{color:var(--green-dark);}
ul{list-style:none;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}
h1,h2,h3,h4{font-weight:700;line-height:1.25;}
h1{font-size:2.6em;}
h2{font-size:2em;margin-bottom:8px;}
h3{font-size:1.25em;}
h4{font-size:1.1em;}
.eyebrow{color:var(--green-dark);font-weight:600;letter-spacing:.03em;text-transform:uppercase;font-size:.85em;margin-bottom:6px;display:block;}
.section{padding:70px 0;}
.section-alt{background:var(--gray-bg);}
.section-head{max-width:720px;margin:0 auto 44px;text-align:center;}
.section-head p{color:var(--gray-text);margin-top:10px;}
.divider{width:60px;height:3px;background:var(--green);margin:14px auto 0;}
.section-head.left{margin:0 0 40px;text-align:left;}
.section-head.left .divider{margin-left:0;}

/* Buttons */
.btn{display:inline-block;background:var(--green);color:#fff;font-weight:700;padding:13px 28px;border-radius:6px;border:none;cursor:pointer;font-size:.95em;}
.btn:hover{background:var(--green-dark);color:#fff;}
.btn-outline{display:inline-block;background:transparent;color:#fff;font-weight:700;padding:12px 27px;border-radius:6px;border:2px solid #fff;font-size:.95em;}
.btn-outline:hover{background:#fff;color:var(--dark);}
.btn-dark{background:var(--dark);}
.btn-dark:hover{background:#333;}

/* Header */
header.site-header{background:#fff;position:sticky;top:0;z-index:1000;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.header-row{display:flex;align-items:center;justify-content:space-between;padding:16px 0;gap:24px;}
.logo{display:flex;align-items:center;gap:10px;font-size:1.5em;font-weight:800;color:var(--dark);white-space:nowrap;}
.logo .mark{width:38px;height:38px;border-radius:10px;flex-shrink:0;display:flex;overflow:hidden;}
.logo .mark svg{width:100%;height:100%;display:block;}
.logo .tagline{display:block;font-size:.42em;font-weight:500;color:var(--gray-text);letter-spacing:.02em;}
nav.main-nav{display:flex;align-items:center;gap:26px;flex-wrap:wrap;}
nav.main-nav > ul{display:flex;gap:26px;align-items:center;flex-wrap:wrap;}
nav.main-nav a{font-weight:600;font-size:.95em;}
nav.main-nav .has-dropdown{position:relative;}
nav.main-nav .dropdown{display:none;position:absolute;top:100%;left:0;background:#fff;box-shadow:0 12px 24px rgba(0,0,0,.12);border-radius:8px;padding:10px 0;min-width:280px;}
nav.main-nav .has-dropdown:hover .dropdown{display:block;}
nav.main-nav .dropdown a{display:block;padding:9px 20px;font-weight:500;}
nav.main-nav .dropdown a:hover{background:var(--gray-bg);color:var(--green-dark);}
.header-actions{display:flex;align-items:center;gap:14px;}
.phone-btn{width:42px;height:42px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1em;flex-shrink:0;}
.phone-btn:hover{background:var(--green-dark);color:#fff;}

/* Burger-Button (nur mobil sichtbar) */
.nav-toggle{display:none;width:42px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0;}
.nav-toggle span{display:block;position:relative;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:background .2s ease;}
.nav-toggle span::before,.nav-toggle span::after{content:"";position:absolute;left:0;width:22px;height:2px;background:var(--dark);border-radius:2px;transition:transform .25s ease;}
.nav-toggle span::before{top:-7px;}
.nav-toggle span::after{top:7px;}
.site-header.nav-open .nav-toggle span{background:transparent;}
.site-header.nav-open .nav-toggle span::before{transform:translateY(7px) rotate(45deg);}
.site-header.nav-open .nav-toggle span::after{transform:translateY(-7px) rotate(-45deg);}

/* Hero */
.hero{position:relative;color:#fff;padding:130px 0 100px;background:linear-gradient(120deg,#20301a,#12210e 60%);overflow:hidden;}
.hero.has-image{background-size:cover;background-position:center;}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(10,20,8,.82),rgba(10,20,8,.55));}
.hero .container{position:relative;z-index:1;}
.hero-inner{max-width:720px;}
.hero h1{margin-bottom:18px;}
.hero p.lead{font-size:1.2em;opacity:.92;margin-bottom:30px;}
.hero-features{display:flex;gap:34px;flex-wrap:wrap;margin-bottom:34px;font-weight:600;}
.hero-features li{display:flex;align-items:center;gap:8px;}
.hero-features li::before{content:"✓";color:var(--green);font-weight:800;}
.hero-cta{display:flex;gap:16px;flex-wrap:wrap;}
.hero-small{padding:70px 0;}
.hero-small h1{font-size:2.1em;margin-bottom:10px;}

/* Two-column content blocks */
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:56px;align-items:center;}
.split.reverse .split-media{order:2;}
.split-media img{border-radius:12px;box-shadow:0 20px 40px rgba(0,0,0,.12);}
.split-text p{color:var(--gray-text);margin-bottom:16px;}
.split-text .btn{margin-top:8px;}
.callout{background:var(--gray-bg);border-left:4px solid var(--green);padding:20px 24px;border-radius:6px;font-weight:600;margin-top:20px;}

/* Service grid (home) */
.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:28px;}
.service-card{border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#fff;transition:transform .25s,box-shadow .25s;}
.service-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px rgba(0,0,0,.1);}
.service-card .icon{width:100%;height:130px;background:linear-gradient(135deg,var(--green),#c7e878);display:flex;align-items:center;justify-content:center;color:#fff;}
.service-card .icon svg{width:46px;height:46px;}
.service-card .body{padding:22px;}
.service-card h3{margin-bottom:8px;font-size:1.15em;}
.service-card p{color:var(--gray-text);font-size:.95em;}

/* Feature/process cards */
.cards-3{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:26px;}
.info-card{background:#fff;border:1px solid var(--border);border-radius:10px;padding:26px;}
.info-card .num{color:var(--green-dark);font-weight:800;font-size:1.4em;margin-bottom:8px;}
.info-card p{color:var(--gray-text);font-size:.95em;}
.info-card.alt{background:var(--gray-bg);border-left:4px solid var(--green);}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:30px;}
.team-member{text-align:center;}
.team-member .photo{width:100%;aspect-ratio:1/1;border-radius:50%;overflow:hidden;margin-bottom:16px;box-shadow:0 12px 26px rgba(0,0,0,.12);}
.team-member .photo img{width:100%;height:100%;object-fit:cover;}
.team-member h4{margin-bottom:4px;}
.team-member span{color:var(--gray-text);font-size:.9em;}
.qualifications{margin-top:18px;}
.qualifications li{padding:7px 0 7px 26px;position:relative;color:var(--gray-text);}
.qualifications li::before{content:"✓";position:absolute;left:0;color:var(--green-dark);font-weight:800;}

/* CTA band */
.cta-band{position:relative;color:#fff;padding:64px 0;text-align:center;background:linear-gradient(120deg,rgba(10,20,8,.86),rgba(20,40,14,.8)),center/cover no-repeat;}
.cta-band h2{color:#fff;}
.cta-band p{max-width:640px;margin:0 auto 26px;opacity:.92;}

/* Contact */
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;}
.contact-list li{display:flex;gap:14px;margin-bottom:22px;align-items:flex-start;}
.contact-list .ic{width:40px;height:40px;border-radius:50%;background:var(--green);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:1.1em;}
.contact-list strong{display:block;margin-bottom:2px;}
.map-frame{border-radius:10px;overflow:hidden;margin-top:24px;border:1px solid var(--border);}
.map-frame iframe{width:100%;height:280px;border:0;display:block;}

form.request-form{background:var(--gray-bg);padding:30px;border-radius:10px;}
.request-form .row{margin-bottom:16px;}
.request-form label{display:block;font-weight:600;margin-bottom:6px;font-size:.92em;}
.request-form input[type=text],
.request-form input[type=email],
.request-form input[type=tel],
.request-form textarea{width:100%;padding:11px 12px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:1em;background:#fff;}
.request-form textarea{min-height:110px;resize:vertical;}
.request-form input:focus,.request-form textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 3px rgba(141,198,63,.2);}
.request-form .checkbox-row{display:flex;gap:10px;align-items:flex-start;font-size:.88em;color:var(--gray-text);}
.request-form .checkbox-row input{margin-top:4px;}
.trust-badges{display:flex;gap:24px;flex-wrap:wrap;font-weight:700;color:#fff;margin-top:10px;}
.trust-badges li::before{content:"✓ ";color:var(--green);}

/* Legal pages */
.legal h1{margin-bottom:26px;}
.legal h2{font-size:1.3em;margin-top:34px;margin-bottom:12px;}
.legal p, .legal li{color:var(--gray-text);margin-bottom:14px;}
.legal strong{color:var(--dark);}
.legal a{color:var(--green-dark);text-decoration:underline;}
.legal .meta-block{background:var(--gray-bg);border-radius:8px;padding:20px 24px;margin-bottom:26px;}

/* Footer */
footer.site-footer{background:#161a15;color:#cfd3cd;padding:56px 0 26px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;margin-bottom:36px;}
.footer-grid h4{color:#fff;margin-bottom:16px;}
.footer-grid p, .footer-grid a{color:#b7bcb3;font-size:.95em;}
.footer-grid li{margin-bottom:10px;}
.footer-brand .logo{color:#fff;}
.footer-brand p{margin-top:12px;color:#9aa196;font-size:.92em;max-width:320px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:22px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.85em;color:#8a9086;}
.footer-bottom a{margin-left:16px;}

/* Mobile */
@media (max-width: 900px){
  .split, .split.reverse{grid-template-columns:1fr;}
  .split.reverse .split-media{order:0;}
  .contact-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr;}
}
@media (max-width: 760px){
  /* Schlanker Sticky-Header: eine Zeile, Menü hinter dem Burger */
  .header-row{flex-wrap:wrap;align-items:center;padding:8px 0;gap:10px;}
  .logo{order:1;flex:1 1 auto;min-width:0;font-size:1.12em;gap:8px;}
  .logo .mark{width:30px;height:30px;border-radius:8px;}
  .logo .tagline{font-size:.5em;line-height:1.3;}
  .header-actions{order:2;width:auto;gap:8px;}
  .header-actions .btn{display:none;}
  .phone-btn{width:38px;height:38px;font-size:1em;}
  .nav-toggle{display:flex;order:3;}

  nav.main-nav{order:4;width:100%;display:none;border-top:1px solid var(--border);padding:4px 0 10px;max-height:calc(100vh - 62px);overflow-y:auto;}
  .site-header.nav-open nav.main-nav{display:block;}
  nav.main-nav > ul{flex-direction:column;align-items:stretch;gap:0;}
  nav.main-nav > ul > li > a{display:block;padding:11px 2px;}
  nav.main-nav .dropdown{display:none;position:static;box-shadow:none;border-radius:0;min-width:0;padding:0 0 6px 14px;}
  nav.main-nav .has-dropdown.open .dropdown{display:block;}
  nav.main-nav .dropdown a{padding:9px 0;}
  nav.main-nav .has-dropdown > a::after{content:" ▾";}
  nav.main-nav .has-dropdown.open > a::after{content:" ▴";}
  .hero{padding:70px 0;}
  h1{font-size:1.9em;}
  .hero-features{flex-direction:column;gap:10px;}
}
