:root{
  --bg:#1b120c;
  --panel:#2c1d12;
  --panel-soft:#f4e6d4;
  --card:#fffaf3;
  --text:#2f231a;
  --muted:#6e5643;
  --accent:#c98a52;
  --accent-dark:#9b6333;
  --border:rgba(116,82,52,.22);
  --shadow:0 18px 44px rgba(0,0,0,.18);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:Arial,sans-serif;
  color:var(--text);
  background:
    linear-gradient(rgba(22,14,9,.72),rgba(22,14,9,.72)),
    url("https://zweiteslebengeben.de/.cm4all/uproc.php/1500/backgrounds/.bif_587640_cm-a.jpg/picture-1600?_=19d90b2834f") center/cover fixed;
}
a{color:inherit}
.container{width:min(1120px,calc(100% - 32px));margin:0 auto}
.topbar{
  position:sticky;top:0;z-index:10;
  background:rgba(34,22,14,.96);
  border-bottom:2px solid rgba(201,138,82,.5);
  backdrop-filter:blur(8px);
}
.topbar-inner{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding:14px 0;
}
.brand{
  text-decoration:none;color:#f6e7d3;font-size:28px;font-weight:700;
  letter-spacing:.02em;
}
.nav{display:flex;gap:8px;flex-wrap:wrap}
.nav a{
  text-decoration:none;color:#f0dfcc;padding:10px 14px;border-radius:999px;
  font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;
}
.nav a:hover,.nav a.active{background:rgba(201,138,82,.18);color:#ffd8ae}
.phone-pill{
  text-decoration:none;color:#fff0df;background:linear-gradient(145deg,var(--accent),var(--accent-dark));
  padding:12px 16px;border-radius:999px;font-weight:700;box-shadow:var(--shadow);white-space:nowrap;
}
.hero{padding:44px 0 24px}
.hero-card{
  background:linear-gradient(145deg,#4b3424,#24170f);
  color:#fff6ea;border:1px solid rgba(201,138,82,.18);border-radius:28px;
  padding:34px;box-shadow:0 24px 60px rgba(0,0,0,.24);
  display:grid;grid-template-columns:1.45fr .95fr;gap:24px;
}
.eyebrow{
  display:inline-block;padding:8px 12px;border-radius:999px;
  background:rgba(201,138,82,.18);border:1px solid rgba(201,138,82,.28);
  color:#f1ca9b;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
}
h1,h2,h3{font-family:Georgia,serif;margin:0 0 12px}
h1{font-size:54px;line-height:1.03}
h2{font-size:34px;color:#f7e9d5}
h3{font-size:22px}
.hero p,.section-intro{font-size:18px;line-height:1.75;color:rgba(255,243,227,.9)}
.trust-points,.inline-points{
  display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 24px;padding:0;list-style:none
}
.trust-points li,.inline-points li{
  padding:10px 14px;border-radius:999px;background:rgba(255,244,228,.08);
  border:1px solid rgba(255,231,203,.16);font-size:14px;font-weight:700
}
.cta-row{display:flex;flex-wrap:wrap;gap:12px}
.btn{
  display:inline-flex;align-items:center;justify-content:center;min-height:48px;
  padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:700;
}
.btn-primary{background:linear-gradient(145deg,var(--accent),var(--accent-dark));color:#fff}
.btn-secondary{background:rgba(255,240,221,.12);color:#fff7ec;border:1px solid rgba(255,226,194,.28)}
.side-card,.section,.faq-item{
  background:linear-gradient(180deg,var(--card),var(--panel-soft));
  border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)
}
.side-card{padding:20px;color:var(--text)}
.side-card p{margin:0;color:var(--muted);line-height:1.65}
.phone-lines{display:flex;flex-direction:column;gap:4px}
.phone-line{
  display:block;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
  letter-spacing:.01em;
}
.phone-entry{display:block;margin-bottom:8px}
.phone-entry:last-child{margin-bottom:0}
.phone-label{
  display:block;
  font-size:13px;
  font-weight:700;
  color:#5a4331;
  margin-bottom:2px;
}
.phone-value{
  display:block;
  white-space:normal;
  font-size:clamp(15px,1.05vw,18px);
  line-height:1.28;
  font-weight:800;
  color:#2f231a;
  font-variant-numeric:tabular-nums;
  letter-spacing:0;
  overflow-wrap:anywhere;
}
.grid-2,.grid-3,.grid-4{display:grid;gap:16px}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.section{
  margin:18px 0;padding:26px;background:linear-gradient(180deg,#fffaf4,#efe0cd)
}
.section h2{color:#4b3221}
.section p,.section li{line-height:1.75;color:var(--muted);font-size:16px}
.card{
  background:#fffdf9;border:1px solid var(--border);border-radius:18px;padding:20px;
  box-shadow:0 10px 24px rgba(0,0,0,.06)
}
.card h3{color:#4b3221}
.steps .card b{
  display:inline-flex;width:36px;height:36px;align-items:center;justify-content:center;
  border-radius:999px;background:#5a3922;color:#fff;font-size:16px;margin-bottom:10px
}
.faq-item{padding:20px}
.faq-item h3{margin-bottom:8px}
.footer{
  margin:24px auto 36px;padding:24px;border-top:2px solid rgba(201,138,82,.32);
  color:#f2dec7;text-align:center;background:rgba(28,18,12,.82);border-radius:18px
}
.footer a{color:#f2dec7;text-decoration:none;margin:0 10px}
.subhero{
  padding:28px 0 6px
}
.subhero-card{
  padding:28px;border-radius:24px;background:linear-gradient(145deg,#402b1d,#24170f);
  color:#fff6ea;box-shadow:var(--shadow);border:1px solid rgba(201,138,82,.18)
}
.subhero-card p{color:rgba(255,243,227,.9);line-height:1.75;font-size:18px}
.contact-box{background:#fffdf9;border:1px solid var(--border);border-radius:18px;padding:22px}
.contact-box strong{display:block;margin-bottom:8px;font-size:18px}
.contact-box p{margin:0 0 10px;color:var(--muted);line-height:1.7}
.contact-list{list-style:none;padding:0;margin:0}
.contact-list li{padding:10px 0;border-bottom:1px solid rgba(116,82,52,.12)}
.contact-list li:last-child{border-bottom:0}
.contact-list a.phone-line{display:inline-block}
@media (max-width:900px){
  .hero-card,.grid-4,.grid-3,.grid-2{grid-template-columns:1fr}
  h1{font-size:40px}
  .topbar-inner{flex-direction:column;align-items:flex-start}
}

.floating-contact{
  position:fixed;right:1rem;bottom:1rem;z-index:90;
  display:flex;flex-direction:column;gap:.6rem
}
.floating-button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 16px;border:0;border-radius:999px;
  color:#fff;text-decoration:none;font-weight:700;cursor:pointer;
  box-shadow:0 14px 28px rgba(0,0,0,.22)
}
.floating-button-call{background:linear-gradient(145deg,#3a2a1d,#24180f)}
.floating-button-chat{background:linear-gradient(145deg,#7a4d2d,#5a3822)}
.chat-backdrop{
  position:fixed;inset:0;z-index:91;background:rgba(30,20,12,.55);
  backdrop-filter:blur(3px)
}
.chat-widget[hidden],.chat-backdrop[hidden]{display:none!important}
.chat-widget{
  position:fixed;right:1rem;bottom:1rem;z-index:92;
  width:min(420px,calc(100% - 1.2rem));height:min(82vh,700px);
  display:grid;grid-template-rows:auto minmax(0,1fr);border:1px solid rgba(88,62,39,.34);
  border-radius:20px;overflow:hidden;background:linear-gradient(180deg,#f6eee3 0%,#e8d9c5 100%);
  box-shadow:0 35px 80px rgba(15,23,42,.28)
}
.chat-widget-header{
  display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;
  padding:1rem;color:#fff;background:linear-gradient(145deg,#4e3b2a,#2f2217)
}
.chat-widget-header strong,.chat-widget-header span{display:block}
.chat-widget-header span{margin-top:.2rem;color:rgba(255,243,228,.86);font-size:.88rem}
.chat-close{border:0;background:transparent;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer}
.chat-widget-body{
  padding:.75rem;display:grid;grid-template-rows:minmax(0,1fr) auto auto;
  gap:.45rem;min-height:0
}
.chat-scroll-area{
  min-height:0;overflow-y:auto;border:1px solid rgba(153,117,83,.35);
  border-radius:12px;background:#f7efe5;padding:.5rem
}
.chat-messages{display:flex;flex-direction:column;gap:.6rem}
.chat-row{display:flex;flex-direction:column;gap:.2rem}
.chat-row-visitor{align-items:flex-end}
.chat-row-owner,.chat-row-system{align-items:flex-start}
.chat-meta{font-size:.72rem;color:#6d5946}
.chat-bubble{
  max-width:88%;padding:.85rem .95rem;border-radius:1rem;line-height:1.5;
  white-space:pre-wrap;border:1px solid #d8bca0;background:#fff8ef;color:#2f2217
}
.chat-bubble-owner{border-color:#7a4d2d;background:#7a4d2d;color:#fff4e8}
.chat-bubble-system{background:#efe1cf;color:#5a3a22}
.chat-options{display:flex;flex-wrap:wrap;gap:.45rem}
.chat-option{
  border:1px solid #d4b38f;background:#fff7ed;color:#5a3a22;
  border-radius:999px;padding:.42rem .7rem;font-size:.85rem;cursor:pointer
}
.chat-status{
  font-size:.85rem;color:#6d5946;min-height:1.1rem;padding:0 .2rem
}
.chat-form{display:flex;gap:.5rem}
.chat-input{
  flex:1;border:1px solid rgba(118,82,48,.38);border-radius:10px;
  padding:.72rem .78rem;font:400 .95rem/1.35 Arial,sans-serif
}
.chat-send{
  border:0;border-radius:10px;padding:.72rem .9rem;background:#7a4d2d;color:#fff;
  font-weight:700;cursor:pointer
}
.chat-send[disabled]{opacity:.55;cursor:not-allowed}
@media (max-width:640px){
  .floating-contact{right:.7rem;bottom:.7rem}
  .chat-widget{right:.45rem;bottom:.45rem;width:calc(100% - .9rem);height:86vh}
}
