/* ═══════════════════════════════════════════
   b-wirtschaften.de — Stylesheet
   ═══════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;1,9..40,400&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

:root {
  --green-50:#f0faf4; --green-100:#d1f2e0; --green-200:#a3e4c1; --green-400:#4cce6b; --green-500:#34b955; --green-600:#22a35a; --green-700:#1a8a4a; --green-800:#0f5a2f; --green-900:#0a4020;
  --stone-50:#faf9f7; --stone-100:#f0eeea; --stone-200:#e2dfd8; --stone-300:#ccc8bd; --stone-400:#a8a296; --stone-500:#87816f; --stone-600:#6b6658; --stone-700:#57524a; --stone-800:#3d3a34; --stone-900:#26241f;
  --font-display:'Plus Jakarta Sans',system-ui,sans-serif; --font-body:'DM Sans',system-ui,sans-serif;
  --shadow-sm:0 1px 2px rgba(0,0,0,.05); --shadow-md:0 4px 12px rgba(0,0,0,.08); --shadow-lg:0 12px 32px rgba(0,0,0,.1);
  --radius-md:.75rem; --radius-lg:1rem; --radius-xl:1.25rem; --radius-2xl:1.5rem;
  --max-w:1200px; --header-h:4.5rem;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scroll-padding-top:var(--header-h);-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);color:var(--stone-800);background:#fff;line-height:1.7;font-size:16px;-webkit-font-smoothing:antialiased}
::selection{background:var(--green-200);color:var(--green-900)}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button{cursor:pointer;border:none;background:none;font:inherit}
h1,h2,h3,h4,h5,h6{font-family:var(--font-display);line-height:1.2;font-weight:800;color:var(--stone-900)}
.container{max-width:var(--max-w);margin:0 auto;padding:0 1.25rem}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}

/* Header */
.site-header{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);transition:box-shadow .3s;height:var(--header-h)}
.site-header.scrolled{box-shadow:var(--shadow-md);background:rgba(255,255,255,.97)}
.header-inner{display:flex;align-items:center;justify-content:space-between;height:100%}
.header-logo{display:flex;align-items:center;gap:.75rem}
.header-logo img{height:2.5rem;width:auto}
.header-logo span{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--stone-900)}
.header-nav{display:flex;align-items:center;gap:2rem}
.header-nav a{font-size:.875rem;font-weight:600;color:var(--stone-600);transition:color .2s}
.header-nav a:hover,.header-nav a.active{color:var(--green-600)}
.header-cta{padding:.625rem 1.5rem;border-radius:2rem;background:var(--green-600);color:#fff!important;font-weight:700;font-size:.875rem;transition:transform .15s,box-shadow .15s}
.header-cta:hover{transform:scale(1.03);box-shadow:var(--shadow-md)}
.header-phone{display:flex;align-items:center;gap:.4rem;font-weight:600;font-size:.875rem;color:var(--stone-700)}
.header-phone svg{width:16px;height:16px}
.mobile-toggle{display:none;padding:.5rem}
.mobile-toggle svg{width:24px;height:24px}
.mobile-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;border-top:1px solid var(--stone-200);padding:1rem 1.25rem 1.5rem;box-shadow:var(--shadow-lg)}
.mobile-nav.open{display:block}
.mobile-nav a{display:block;padding:.75rem 0;font-weight:600;color:var(--stone-800);border-bottom:1px solid var(--stone-100)}
.mobile-nav a:last-child{border-bottom:none}
@media(max-width:1024px){.header-nav,.header-phone{display:none}.mobile-toggle{display:block}}

/* Hero */
.hero{padding:calc(var(--header-h) + 3rem) 0 4rem;background:linear-gradient(135deg,var(--stone-50) 0%,var(--green-50) 50%,#fff 100%);position:relative;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;opacity:.03;background-image:url("data:image/svg+xml,%3Csvg width='40' height='40' viewBox='0 0 40 40' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 20.5V18H0v-2h20v-2l2 3.5-2 3z' fill='%23000' fill-opacity='.4' fill-rule='evenodd'/%3E%3C/svg%3E")}
.hero-content{position:relative;max-width:680px}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem 1rem;border-radius:2rem;background:var(--green-100);color:var(--green-800);font-size:.8125rem;font-weight:700;margin-bottom:1.5rem}
.hero h1{font-size:clamp(2.25rem,5vw,3.5rem);margin-bottom:1.25rem}
.hero p{font-size:1.125rem;color:var(--stone-600);max-width:560px;margin-bottom:2rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2.5rem}
.btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:var(--radius-xl);background:var(--green-600);color:#fff;font-weight:700;font-size:1.0625rem;transition:transform .15s,box-shadow .15s;box-shadow:0 4px 14px rgba(26,138,74,.3)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(26,138,74,.35)}
.btn-secondary{display:inline-flex;align-items:center;gap:.5rem;padding:1rem 2rem;border-radius:var(--radius-xl);border:2px solid var(--stone-300);color:var(--stone-800);font-weight:700;font-size:1.0625rem;transition:border-color .2s,background .2s}
.btn-secondary:hover{border-color:var(--green-500);background:var(--green-50)}
.trust-bar{display:flex;flex-wrap:wrap;gap:1.25rem}
.trust-bar span{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;font-weight:600;color:var(--stone-600)}
.trust-bar svg{width:16px;height:16px;color:var(--green-600)}
@media(max-width:640px){.hero{padding-top:calc(var(--header-h) + 2rem);padding-bottom:3rem}.hero-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%;justify-content:center}}

/* Sections */
.section{padding:5rem 0}
.section-alt{background:var(--stone-50)}
.section-header{margin-bottom:3rem;max-width:600px}
.section-header h2{font-size:clamp(1.75rem,3.5vw,2.5rem);margin-bottom:.75rem}
.section-header p{font-size:1.0625rem;color:var(--stone-600)}

/* Service Cards */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.25rem}
.service-card{border:2px solid var(--stone-200);border-radius:var(--radius-2xl);padding:1.75rem;transition:border-color .3s,box-shadow .3s;background:#fff}
.service-card:hover{border-color:var(--green-400);box-shadow:var(--shadow-md)}
.service-card-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1rem}
.service-icon{width:3rem;height:3rem;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--green-100);color:var(--green-700);flex-shrink:0}
.service-card h3{font-size:1.25rem;margin-bottom:.25rem}
.service-card p{font-size:.9375rem;color:var(--stone-600)}
.service-items{display:grid;grid-template-columns:1fr 1fr;gap:.5rem;margin-top:1rem}
.service-items span{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;font-weight:500;color:var(--stone-700)}
.service-items svg{width:14px;height:14px;color:var(--green-600);flex-shrink:0}
.service-link{display:inline-flex;align-items:center;gap:.4rem;margin-top:1.25rem;font-size:.875rem;font-weight:700;color:var(--green-700);transition:gap .2s}
.service-link:hover{gap:.75rem}
@media(max-width:640px){.services-grid{grid-template-columns:1fr}.service-items{grid-template-columns:1fr}}

/* Rental */
.rental-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.rental-card{border-radius:var(--radius-2xl);overflow:hidden;border:1px solid var(--stone-200);background:#fff;transition:box-shadow .3s,transform .3s}
.rental-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}
.rental-card-img{height:13rem;overflow:hidden;background:var(--stone-100);position:relative}
.rental-card-img img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.rental-card:hover .rental-card-img img{transform:scale(1.08)}
.rental-badge{position:absolute;top:.75rem;right:.75rem;padding:.25rem .75rem;border-radius:2rem;background:var(--green-600);color:#fff;font-size:.75rem;font-weight:700}
.rental-card-body{padding:1.5rem}
.rental-category{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--green-600)}
.rental-card-body h3{font-size:1.125rem;margin:.25rem 0 .5rem}
.rental-card-body>p{font-size:.875rem;color:var(--stone-600);margin-bottom:1rem}
.rental-features{list-style:none;margin-bottom:1.25rem}
.rental-features li{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--stone-700);padding:.2rem 0}
.rental-features svg{width:14px;height:14px;color:var(--green-500);flex-shrink:0}
.rental-pricing{display:flex;align-items:center;justify-content:space-between;padding-top:1.25rem;border-top:1px solid var(--stone-200)}
.rental-price{font-size:1.5rem;font-weight:800;font-family:var(--font-display);color:var(--stone-900)}
.rental-price small{font-size:.8125rem;font-weight:600;color:var(--stone-500)}
.rental-book{padding:.625rem 1.25rem;border-radius:var(--radius-lg);background:var(--green-600);color:#fff;font-weight:700;font-size:.8125rem;transition:transform .15s}
.rental-book:hover{transform:scale(1.05)}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1.5rem}
.team-card{background:#fff;border:1px solid var(--stone-200);border-radius:var(--radius-2xl);padding:2rem;text-align:center}
.team-avatar{width:5rem;height:5rem;border-radius:50%;margin:0 auto 1rem;display:flex;align-items:center;justify-content:center;font-size:1.5rem;font-weight:800;color:#fff;background:var(--green-600);font-family:var(--font-display)}
.team-card h4{font-size:1.125rem;margin-bottom:.25rem}
.team-role{font-size:.8125rem;font-weight:700;color:var(--green-600);margin-bottom:.75rem}
.team-card p{font-size:.875rem;color:var(--stone-600)}

/* USP Banner */
.usp-banner{border-radius:var(--radius-2xl);background:linear-gradient(135deg,var(--green-700),var(--green-900));padding:3rem}
.usp-banner h3{color:#fff;text-align:center;font-size:1.75rem;margin-bottom:2.5rem}
.usp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:2rem}
.usp-item{text-align:center}
.usp-icon{width:3.5rem;height:3.5rem;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;margin:0 auto .75rem}
.usp-icon svg{width:24px;height:24px;color:#fff}
.usp-item h4{color:#fff;font-size:1.0625rem;margin-bottom:.5rem}
.usp-item p{font-size:.875rem;color:var(--green-100)}

/* HV */
.hv-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.pain-point{border-radius:var(--radius-lg);padding:1.25rem;background:#fff;border:1px solid var(--stone-200);margin-bottom:1rem}
.pain-point strong{display:block;font-size:.9375rem;color:var(--stone-900);margin-bottom:.25rem}
.pain-point span{font-size:.875rem;color:var(--green-700)}
.hv-package{border-radius:var(--radius-2xl);padding:2rem;background:#fff;border:1px solid var(--stone-200)}
.hv-package h3{font-size:1.25rem;margin-bottom:1.5rem}
.hv-list{list-style:none}
.hv-list li{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 0;border-bottom:1px solid var(--stone-100);font-size:.9375rem;color:var(--stone-800)}
.hv-list li:last-child{border-bottom:none}
.hv-list svg{width:18px;height:18px;color:var(--green-600);flex-shrink:0;margin-top:.15rem}
.hv-trust{margin-top:1.5rem;padding:1.25rem;border-radius:var(--radius-lg);background:var(--green-50)}
.hv-trust p{font-size:.8125rem;color:var(--stone-700)}
.hv-trust strong{color:var(--green-800)}
@media(max-width:768px){.hv-grid{grid-template-columns:1fr}}

/* Testimonials */
.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}
.testimonial-card{background:#fff;border:1px solid var(--stone-200);border-radius:var(--radius-2xl);padding:2rem}
.testimonial-stars{display:flex;gap:.25rem;margin-bottom:1rem;color:#f59e0b;font-size:1.125rem}
.testimonial-text{font-size:.9375rem;color:var(--stone-700);font-style:italic;margin-bottom:1.25rem;line-height:1.7}
.testimonial-author{font-weight:700;font-size:.875rem;color:var(--stone-900)}
.testimonial-meta{font-size:.8125rem;color:var(--stone-500)}
.testimonials-empty{text-align:center;padding:3rem;background:var(--green-50);border-radius:var(--radius-2xl);border:2px dashed var(--green-200)}
.testimonials-empty p{color:var(--stone-600);margin-bottom:1rem}

/* Projects */
.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.5rem}
.project-card{border-radius:var(--radius-2xl);overflow:hidden;border:1px solid var(--stone-200);background:#fff}
.project-card-img{height:14rem;overflow:hidden;background:var(--stone-100)}
.project-card-img img{width:100%;height:100%;object-fit:cover}
.project-card-body{padding:1.5rem}
.project-tag{display:inline-block;padding:.2rem .75rem;border-radius:2rem;background:var(--green-100);color:var(--green-800);font-size:.75rem;font-weight:700;margin-bottom:.75rem}
.project-card-body h3{font-size:1.0625rem;margin-bottom:.5rem}
.project-card-body p{font-size:.875rem;color:var(--stone-600)}
.projects-empty{text-align:center;padding:4rem 2rem;background:var(--stone-50);border-radius:var(--radius-2xl)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:2fr 3fr;gap:3rem}
.contact-info h2{margin-bottom:1rem}
.contact-info>p{color:var(--stone-600);margin-bottom:2rem;font-size:1.0625rem}
.contact-item{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}
.contact-icon{width:2.75rem;height:2.75rem;border-radius:var(--radius-lg);background:var(--green-100);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.contact-icon svg{width:18px;height:18px;color:var(--green-700)}
.contact-item label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--stone-500);display:block;margin-bottom:.1rem}
.contact-item a,.contact-item p{font-weight:600;color:var(--stone-900);font-size:.9375rem}
.contact-item a:hover{color:var(--green-600)}
.contact-area{margin-top:2rem;padding:1.25rem;border-radius:var(--radius-lg);background:var(--stone-50);border:1px solid var(--stone-200)}
.contact-area h4{font-size:.9375rem;margin-bottom:.5rem}
.contact-area p{font-size:.8125rem;color:var(--stone-600)}
.contact-form-wrap{border-radius:var(--radius-2xl);padding:2rem;background:var(--stone-50);border:1px solid var(--stone-200)}
.contact-form-wrap h3{font-size:1.25rem;margin-bottom:1.5rem}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1rem}
.form-field{margin-bottom:1rem}
.form-field input,.form-field select,.form-field textarea{width:100%;padding:.75rem 1rem;border:1.5px solid var(--stone-200);border-radius:var(--radius-lg);font-family:var(--font-body);font-size:.9375rem;color:var(--stone-900);background:#fff;outline:none;transition:border-color .2s,box-shadow .2s}
.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--green-500);box-shadow:0 0 0 3px rgba(34,163,90,.12)}
.form-field textarea{resize:vertical;min-height:120px}
.form-submit{width:100%;padding:1rem;border-radius:var(--radius-xl);background:var(--green-600);color:#fff;font-weight:700;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:transform .15s,box-shadow .15s;border:none;cursor:pointer}
.form-submit:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(26,138,74,.3)}
.form-submit svg{width:18px;height:18px}
.form-success{text-align:center;padding:3rem}
.form-success svg{width:48px;height:48px;color:var(--green-600);margin:0 auto 1rem}
.form-success h3{font-size:1.5rem;margin-bottom:.5rem}
.form-note{font-size:.75rem;color:var(--stone-500);text-align:center;margin-top:1rem}
@media(max-width:768px){.contact-grid{grid-template-columns:1fr}.form-row{grid-template-columns:1fr}}

/* Content Pages */
.page-hero{padding:calc(var(--header-h) + 2.5rem) 0 2.5rem;background:linear-gradient(135deg,var(--stone-50),var(--green-50))}
.page-hero h1{font-size:clamp(1.75rem,4vw,2.75rem);margin-bottom:.75rem}
.page-hero p{font-size:1.0625rem;color:var(--stone-600);max-width:640px}
.page-breadcrumb{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--stone-500);margin-bottom:1.25rem}
.page-breadcrumb a{color:var(--green-600)}
.page-breadcrumb a:hover{text-decoration:underline}
.page-content{padding:3rem 0 5rem}
.page-content h2{font-size:1.5rem;margin:2.5rem 0 1rem}
.page-content h3{font-size:1.25rem;margin:2rem 0 .75rem}
.page-content p{color:var(--stone-700);margin-bottom:1rem;font-size:1rem}
.page-content ul{list-style:none;margin-bottom:1.5rem}
.page-content ul li{display:flex;align-items:flex-start;gap:.6rem;padding:.35rem 0;color:var(--stone-700)}
.page-content ul li::before{content:'✓';color:var(--green-600);font-weight:700;flex-shrink:0}
.page-cta{margin-top:2.5rem;padding:2rem;border-radius:var(--radius-2xl);background:var(--green-50);border:2px solid var(--green-200);text-align:center}
.page-cta h3{font-size:1.25rem;margin-bottom:.75rem}
.page-cta p{font-size:.9375rem;color:var(--stone-600);margin-bottom:1.25rem}
.schema-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.3rem .75rem;border-radius:2rem;background:var(--green-100);color:var(--green-800);font-size:.75rem;font-weight:600;margin-bottom:1rem}

/* Cross-Sell */
.cross-sell{border-radius:var(--radius-2xl);padding:2.5rem;text-align:center;background:linear-gradient(135deg,var(--green-50),var(--stone-50));border:2px dashed var(--green-200);margin-top:2rem}
.cross-sell h3{font-size:1.25rem;margin-bottom:.5rem}
.cross-sell p{font-size:.9375rem;color:var(--stone-600);margin-bottom:1.25rem;max-width:480px;margin-left:auto;margin-right:auto}

/* Footer */
.site-footer{background:var(--stone-900);color:var(--stone-300);padding:3.5rem 0 2rem}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2.5rem;margin-bottom:2.5rem}
.footer-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}
.footer-brand img{height:2rem;width:auto;filter:brightness(2)}
.footer-brand span{font-family:var(--font-display);font-weight:800;font-size:1.125rem;color:#fff}
.site-footer h4{color:#fff;font-size:.9375rem;margin-bottom:1rem;font-family:var(--font-display)}
.site-footer p,.site-footer a{font-size:.875rem;color:var(--stone-400);line-height:1.8}
.site-footer a:hover{color:#fff}
.footer-links a{display:block;padding:.2rem 0}
.footer-bottom{padding-top:2rem;border-top:1px solid var(--stone-800);text-align:center;font-size:.8125rem;color:var(--stone-600)}
@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:2rem}}
@media(max-width:480px){.footer-grid{grid-template-columns:1fr}}

/* Floating CTA */
.floating-cta{position:fixed;bottom:1.5rem;right:1.5rem;z-index:90;display:flex;flex-direction:column;gap:.75rem}
.floating-cta a{width:3.25rem;height:3.25rem;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:transform .2s}
.floating-cta a:hover{transform:scale(1.1)}
.cta-phone{background:var(--green-600);color:#fff}
