/* EB Klein SEO-Landing Shared CSS */
:root{
  --eb-green:#1A5828; --eb-green-dark:#13401d; --eb-green-tint:#E5F0E8;
  --eb-warm:#B8963E; --eb-cream:#FBF8F3; --eb-cream2:#F1E8DC;
  --eb-ink:#1A1A1A; --eb-ink2:#4A4A4A; --eb-ink3:#7A7A7A;
  --eb-line:#E5E5E5; --eb-line2:#D2D2D7; --eb-white:#fff;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html{scroll-behavior:smooth}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Inter',sans-serif;
  color:var(--eb-ink);line-height:1.55;background:var(--eb-white);font-size:16px}
img{max-width:100%;height:auto}
a{color:var(--eb-green);text-decoration:none}
a:hover{text-decoration:underline}

/* TOP-BAR */
.seo-top{background:var(--eb-white);border-bottom:1px solid var(--eb-line);position:sticky;top:0;z-index:50;
  padding:12px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.seo-top-logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--eb-ink)}
.seo-top-logo img{width:38px;height:32px;border-radius:6px}
.seo-top-logo strong{font-weight:800;font-size:15px}
.seo-top-logo small{font-size:11px;color:var(--eb-ink3);display:block;margin-top:1px}
.seo-top-right{display:flex;align-items:center;gap:10px}
.seo-top-tel{font-size:14px;font-weight:700;color:var(--eb-green);display:flex;align-items:center;gap:6px}
.seo-top-cta{background:var(--eb-green);color:#fff;padding:9px 16px;border-radius:8px;
  font-size:13px;font-weight:700;text-decoration:none}
.seo-top-cta:hover{background:var(--eb-green-dark);text-decoration:none}
@media(max-width:600px){
  .seo-top-tel span{display:none}
  .seo-top-logo small{display:none}
}

/* HERO */
.seo-hero{background:linear-gradient(180deg,var(--eb-cream) 0%,var(--eb-cream2) 100%);
  padding:48px 20px 56px;text-align:center}
.seo-hero-inner{max-width:760px;margin:0 auto}
.seo-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;
  color:var(--eb-green);background:rgba(26,88,40,.1);padding:6px 14px;border-radius:999px;margin-bottom:18px}
.seo-eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--eb-green);
  box-shadow:0 0 0 4px rgba(26,88,40,.15)}
.seo-hero h1{font-family:'Fraunces',Georgia,serif;font-weight:900;color:var(--eb-ink);
  font-size:clamp(28px,6.8vw,46px);line-height:1.15;margin:0 0 16px;letter-spacing:-.01em}
.seo-hero h1 em{font-style:normal;color:var(--eb-warm)}
.seo-hero-sub{font-size:clamp(15px,3.4vw,18px);line-height:1.55;color:var(--eb-ink2);
  margin:0 auto 26px;max-width:600px}
.seo-hero-cta{display:inline-flex;align-items:center;gap:8px;background:var(--eb-green);color:#fff;
  border:0;border-radius:14px;padding:17px 30px;font-family:inherit;font-size:16px;font-weight:700;
  cursor:pointer;text-decoration:none;box-shadow:0 8px 22px rgba(26,88,40,.28)}
.seo-hero-cta:hover{background:var(--eb-green-dark);text-decoration:none}
.seo-hero-trust{display:flex;flex-wrap:wrap;gap:8px 20px;justify-content:center;
  margin-top:24px;font-size:13px;color:var(--eb-ink2)}
.seo-hero-trust span{display:inline-flex;align-items:center;gap:6px}
.seo-hero-trust span::before{content:"✓";color:var(--eb-green);font-weight:800}

/* SECTIONS */
.seo-sec{padding:50px 20px;max-width:1080px;margin:0 auto}
.seo-sec h2{font-family:'Fraunces',Georgia,serif;font-weight:800;font-size:clamp(24px,4.6vw,32px);
  text-align:center;margin:0 0 12px;color:var(--eb-ink);letter-spacing:-.005em}
.seo-sec-intro{text-align:center;font-size:16px;color:var(--eb-ink2);max-width:640px;margin:0 auto 32px}
.seo-sec.alt{background:var(--eb-cream)}

/* CARDS-GRID */
.seo-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:8px}
.seo-card{background:#fff;border:1px solid var(--eb-line);border-radius:16px;padding:24px 22px;
  transition:transform .15s,box-shadow .15s,border-color .15s}
.seo-card:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(0,0,0,.07);border-color:var(--eb-green)}
.seo-card-icon{font-size:32px;line-height:1;margin-bottom:12px}
.seo-card h3{font-size:17px;font-weight:700;margin:0 0 8px;color:var(--eb-ink)}
.seo-card p{font-size:14px;color:var(--eb-ink2);line-height:1.55;margin:0}

/* STEPS */
.seo-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px;
  position:relative;max-width:920px;margin:0 auto}
.seo-step{position:relative;padding-left:50px}
.seo-step-num{position:absolute;left:0;top:0;width:38px;height:38px;border-radius:50%;
  background:var(--eb-green);color:#fff;font-weight:800;font-size:18px;
  display:flex;align-items:center;justify-content:center}
.seo-step h3{font-size:16px;font-weight:700;margin:6px 0 6px;color:var(--eb-ink)}
.seo-step p{font-size:14px;color:var(--eb-ink2);line-height:1.5}

/* FAQ */
.seo-faq{max-width:760px;margin:0 auto}
.seo-faq-item{border:1px solid var(--eb-line);border-radius:12px;margin-bottom:12px;background:#fff;overflow:hidden}
.seo-faq-q{padding:18px 22px;font-weight:700;font-size:16px;color:var(--eb-ink);cursor:pointer;
  display:flex;justify-content:space-between;align-items:center;gap:12px;background:#fff;border:0;
  width:100%;text-align:left;font-family:inherit}
.seo-faq-q:hover{background:var(--eb-cream)}
.seo-faq-q::after{content:"+";font-size:24px;font-weight:300;color:var(--eb-green);transition:transform .2s}
.seo-faq-item.open .seo-faq-q::after{content:"−"}
.seo-faq-a{padding:0 22px 18px;font-size:15px;color:var(--eb-ink2);line-height:1.6;display:none}
.seo-faq-item.open .seo-faq-a{display:block}

/* LEAD-FORM */
.seo-form-wrap{max-width:560px;margin:0 auto;background:#fff;border:1px solid var(--eb-line);
  border-radius:20px;padding:32px 28px;box-shadow:0 12px 36px rgba(0,0,0,.06)}
.seo-form-wrap h2{text-align:left;font-size:24px;margin:0 0 8px}
.seo-form-wrap .seo-sec-intro{text-align:left;margin:0 0 22px;font-size:15px}
.seo-form-row{display:block;margin-bottom:14px}
.seo-form-row label{display:block;font-size:13px;font-weight:600;color:var(--eb-ink2);margin-bottom:6px}
.seo-form-row input,.seo-form-row textarea,.seo-form-row select{
  width:100%;padding:13px 14px;font-family:inherit;font-size:15px;color:var(--eb-ink);
  border:1.5px solid var(--eb-line2);border-radius:11px;background:#fff;-webkit-appearance:none}
.seo-form-row input:focus,.seo-form-row textarea:focus,.seo-form-row select:focus{
  outline:0;border-color:var(--eb-green);box-shadow:0 0 0 3px rgba(26,88,40,.12)}
.seo-form-row textarea{min-height:90px;resize:vertical;font-family:inherit}
.seo-form-row.consent{display:flex;align-items:flex-start;gap:10px}
.seo-form-row.consent input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--eb-green);flex-shrink:0}
.seo-form-row.consent label{font-size:13px;color:var(--eb-ink2);margin:0;line-height:1.5}
.seo-form-submit{width:100%;background:var(--eb-green);color:#fff;border:0;padding:16px;
  border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;
  box-shadow:0 8px 22px rgba(26,88,40,.25);font-family:inherit;margin-top:8px}
.seo-form-submit:hover{background:var(--eb-green-dark)}
.seo-form-submit:disabled{opacity:.6;cursor:not-allowed}
.seo-form-msg{margin-top:12px;padding:12px 14px;border-radius:10px;font-size:14px;display:none}
.seo-form-msg.ok{background:var(--eb-green-tint);color:var(--eb-green-dark);display:block}
.seo-form-msg.err{background:#FEE;color:#B91C1C;display:block}

/* CALLOUT (Hot-Box mit Bonus-Info) */
.seo-callout{background:linear-gradient(135deg,#FFF9E6 0%,#FFEEC6 100%);border:1px solid #E5C067;
  border-radius:16px;padding:20px 22px;margin:0 auto 30px;max-width:680px;display:flex;align-items:center;gap:14px}
.seo-callout-icon{font-size:30px;flex-shrink:0}
.seo-callout-text{font-size:14.5px;color:#705414;line-height:1.5}
.seo-callout-text strong{color:#4A3A0A}

/* FOOTER */
.seo-footer{background:var(--eb-ink);color:#C8D0CC;padding:40px 20px 24px;font-size:14px;margin-top:40px}
.seo-footer-inner{max-width:1080px;margin:0 auto}
.seo-footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:30px;margin-bottom:30px}
.seo-footer-grid h4{color:#fff;font-size:14px;margin:0 0 12px;font-weight:700}
.seo-footer-grid a{color:#C8D0CC;display:block;padding:4px 0;font-size:13.5px}
.seo-footer-grid a:hover{color:#fff}
.seo-footer-bottom{border-top:1px solid #2a3a32;padding-top:20px;font-size:12.5px;color:#8A958F;
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}
.seo-footer-bottom a{color:#8A958F;margin-right:14px}
.seo-footer-bottom a:hover{color:#C8D0CC}
