:root{
  --cream:#faf6ef;
  --cream-2:#f2ecdf;
  --ink:#24303a;
  --ink-soft:#5b6670;
  --accent:#d95b1e;
  --accent-dark:#b3480f;
  --white:#ffffff;
  --line:#e6ddcd;
  --radius:18px;
  --radius-sm:12px;
  --shadow:0 10px 30px rgba(36,48,58,.10);
  --shadow-lg:0 18px 44px rgba(36,48,58,.16);
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  font-family:'Inter',system-ui,sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
.container{max-width:1180px;margin:0 auto;padding:0 24px;}

/* Kopfzeile */
.topbar{background:var(--ink);color:#e9e3d6;font-size:13.5px;}
.topbar .container{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;padding-top:8px;padding-bottom:8px;flex-wrap:wrap;
}
.topbar a{color:#e9e3d6;text-decoration:none;}
.topbar a:hover{color:#ffb27a;}
.topbar .dots{opacity:.5;}

.header{
  background:var(--cream);
  position:sticky;top:0;z-index:50;
  border-bottom:1px solid var(--line);
}
.header .container{
  display:flex;align-items:center;justify-content:space-between;
  gap:24px;padding-top:14px;padding-bottom:14px;
}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--ink);}
.logo-mark{
  width:44px;height:44px;border-radius:12px;flex:none;
  background:var(--accent);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-weight:700;font-family:'Fraunces',serif;font-size:19px;
}
.logo-name{font-family:'Fraunces',serif;font-weight:600;font-size:19px;line-height:1.15;}
.logo-name small{display:block;font-family:'Inter',sans-serif;font-weight:500;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);}

nav ul{list-style:none;display:flex;gap:26px;align-items:center;}
nav a{text-decoration:none;color:var(--ink);font-weight:500;font-size:15px;}
nav a:hover{color:var(--accent);}
nav li.active a{color:var(--accent);}
.nav-cta{background:var(--accent);color:#fff!important;padding:10px 18px;border-radius:999px;font-weight:600;}
.nav-cta:hover{background:var(--accent-dark);}
.burger{display:none;background:none;border:none;cursor:pointer;padding:6px;}
.burger span{display:block;width:24px;height:2.5px;background:var(--ink);margin:5px 0;border-radius:2px;}

/* Buttons */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:14px 24px;border-radius:999px;font-weight:600;font-size:15.5px;
  text-decoration:none;border:2px solid transparent;transition:.15s;cursor:pointer;
  font-family:inherit;line-height:1.2;
}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:var(--accent-dark);}
.btn-ghost{background:transparent;color:#f4efe5;border-color:rgba(244,239,229,.5);}
.btn-ghost:hover{border-color:#fff;background:rgba(255,255,255,.08);}
.btn-light{background:#fff;color:var(--accent-dark);}
.btn-light:hover{background:#ffe8d6;}
.btn-dark{background:var(--ink);color:#fff;}
.btn-dark:hover{background:#1a232b;}
.btn-outline{background:transparent;color:var(--accent);border-color:var(--accent);}
.btn-outline:hover{background:var(--accent);color:#fff;}
.btn-sm{padding:10px 16px;font-size:14px;}
.btn-block{width:100%;}

/* Hero */
.hero{position:relative;overflow:hidden;background:var(--ink);color:#f4efe5;}
.hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.45;}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(24,32,40,.85) 0%,rgba(24,32,40,.55) 55%,rgba(24,32,40,.15) 100%);}
.hero .container{position:relative;padding-top:110px;padding-bottom:120px;max-width:1000px;}
.hero-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:#ffb27a;font-weight:600;
}
.hero-eyebrow::before{content:"";width:34px;height:2px;background:var(--accent);}
.hero h1{
  font-family:'Fraunces',serif;font-weight:600;
  font-size:clamp(34px,5.2vw,58px);line-height:1.12;margin:18px 0 20px;letter-spacing:-.01em;
}
.hero h1 em{font-style:italic;color:#ffb27a;}
.hero p.lead{font-size:17.5px;max-width:640px;color:#d9d2c3;}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px;}
.hero-phone{
  margin-top:30px;display:inline-flex;align-items:center;gap:12px;
  font-size:14.5px;color:#d9d2c3;
}
.hero-phone strong{color:#fff;font-size:17px;}
.hero-phone .ring{
  width:42px;height:42px;border-radius:50%;background:rgba(217,91,30,.18);
  display:flex;align-items:center;justify-content:center;font-size:18px;
}

/* Abschnitte */
section{padding:84px 0;}
.eyebrow{
  font-size:13px;letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-weight:600;
  display:flex;align-items:center;gap:10px;
}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--accent);}
h2.section-title{
  font-family:'Fraunces',serif;font-weight:600;font-size:clamp(28px,3.6vw,40px);
  line-height:1.18;margin:14px 0 14px;letter-spacing:-.01em;
}
.section-sub{color:var(--ink-soft);font-size:16.5px;max-width:680px;}
