:root{--bg:#f6f4f1;--paper:#fff;--ink:#38332e;--muted:#756b62;--wood:#b97f44;--wood-dark:#895b31;--line:#e6ded6;--shadow:0 16px 42px rgba(42,31,22,.1);--container:1220px}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Georgia,"Times New Roman",serif;background:var(--bg);color:var(--ink);line-height:1.7}img{display:block;max-width:100%}a{text-decoration:none;color:inherit}.container{width:min(var(--container),calc(100% - 44px));margin:auto}.narrow{max-width:900px}.header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:100}.header-inner{height:86px;display:flex;align-items:center;justify-content:space-between;gap:26px}.logo{display:flex;align-items:center;gap:12px}.logo-mark{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dfcdbb;border-radius:50%;color:var(--wood)}.logo-title{display:block;font-size:1.22rem;font-weight:700;letter-spacing:.05em;line-height:1}.logo-sub{display:block;font-size:1rem;color:#70675f;letter-spacing:.08em;line-height:1.05}.nav{display:flex;gap:32px;align-items:center}.nav a{font-family:Arial,sans-serif;font-size:.82rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#4a4641}.nav a.active,.nav a:hover{color:var(--wood-dark)}.menu{display:none;border:1px solid var(--line);background:#fff;width:44px;height:40px}.menu span{display:block;width:22px;height:2px;background:#37322d;margin:5px auto}.hero-slider{height:510px;position:relative;overflow:hidden;background:#392d24}.slide{position:absolute;inset:0;opacity:0;transition:opacity .65s ease;background:#392d24}.slide::before{display:none}.slide::after{display:none}.slide.active{opacity:1}.slide img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center}.slider-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:45px;height:45px;border:0;border-radius:50%;background:rgba(255,255,255,.9);font-size:24px;cursor:pointer}.prev{left:18px}.next{right:18px}.slider-dots{position:absolute;z-index:2;bottom:17px;left:50%;transform:translateX(-50%);display:flex;gap:8px}.dot{width:9px;height:9px;border:0;border-radius:50%;background:rgba(255,255,255,.58);cursor:pointer}.dot.active{background:#fff}.page-hero{background:#fff;padding:60px 0;text-align:center;border-bottom:1px solid var(--line)}.page-hero h1,.intro h1,.section-title{font-size:clamp(2.1rem,4vw,3.55rem);line-height:1.13;letter-spacing:.03em;text-transform:uppercase}.page-hero p{max-width:760px;margin:15px auto 0;color:var(--muted);font-size:1.08rem}.section{padding:72px 0}.intro{background:#f8f7f5;text-align:center}.intro p{max-width:900px;margin:18px auto 0;color:var(--muted);font-size:1.07rem}.divider{width:110px;height:4px;border-radius:99px;background:var(--wood);margin:18px auto 28px}.section-head{max-width:780px;text-align:center;margin:0 auto 42px}.section-head p{color:var(--muted);margin-top:12px}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.card,.project,.contact-box,.split-card{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}.card{padding:30px}.card h2,.card h3{font-size:1.32rem;margin-bottom:10px}.card p,.project p,.split-card p,.contact-box p{color:var(--muted)}.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.project{overflow:hidden}.project img{width:100%;height:285px;object-fit:cover}.project div{padding:20px}.project h2{font-size:1.25rem;margin-bottom:6px}.split{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.split>img{width:100%;height:430px;object-fit:cover;box-shadow:var(--shadow)}.split-card{padding:40px}.contact-box{display:grid;grid-template-columns:1.2fr .8fr;gap:30px;align-items:center;padding:42px}.actions{display:flex;gap:14px;flex-wrap:wrap;justify-content:flex-end}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border:0;font-family:Arial,sans-serif;font-weight:800;cursor:pointer}.btn-primary{background:var(--wood);color:#fff}.btn-primary:hover{background:var(--wood-dark)}.btn-secondary{background:#ebe4dc;color:#3e3832}.footer{margin-top:0;background:#ebe7e1;border-top:1px solid #ddd5cc;padding:28px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer span{color:var(--muted)}.footer-links{display:flex;gap:20px;font-family:Arial,sans-serif;font-size:.92rem}.form{display:grid;gap:12px}.form input,.form textarea{padding:13px;border:1px solid #d8cfc6;font:inherit}.form textarea{min-height:120px;resize:vertical}@media(max-width:900px){.menu{display:block}.nav{display:none;position:absolute;top:86px;left:22px;right:22px;background:#fff;box-shadow:var(--shadow);border:1px solid var(--line);padding:18px;flex-direction:column}.nav.open{display:flex}.hero-slider{height:370px}.grid-3,.portfolio-grid{grid-template-columns:repeat(2,1fr)}.split,.contact-box{grid-template-columns:1fr}.actions{justify-content:flex-start}}@media(max-width:600px){.container{width:min(var(--container),calc(100% - 24px))}.header-inner{height:76px}.nav{top:76px}.hero-slider{height:260px}.section{padding:52px 0}.grid-3,.portfolio-grid{grid-template-columns:1fr}.project img,.split>img{height:245px}.split-card,.contact-box{padding:26px}.actions{flex-direction:column}.btn{width:100%}}

/* Kontakt-Infoblock */
.contact-details-section{background:#fbfaf8;padding-top:22px}
.contact-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;max-width:1080px;margin:0 auto}
.contact-detail-card{display:flex;align-items:flex-start;gap:18px;padding:24px 25px;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow)}
.contact-icon{width:62px;height:62px;min-width:62px;border-radius:50%;display:grid;place-items:center;background:#f59a23;color:#fff}
.contact-icon svg{width:29px;height:29px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.contact-label{display:block;margin:2px 0 8px;font-family:Arial,sans-serif;font-size:.78rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase;color:#5b5148}
.contact-value{font-size:1.05rem;line-height:1.65;color:var(--ink)}
.contact-value a{color:var(--wood-dark);font-weight:700}
.contact-value a:hover{text-decoration:underline}
@media(max-width:720px){.contact-details-grid{grid-template-columns:1fr}.contact-detail-card{padding:21px}.contact-icon{width:54px;height:54px;min-width:54px}.contact-icon svg{width:25px;height:25px}}


/* V8: Startseite-Navigation liegt transparent ohne sichtbare Linie über dem Slider.
   Beim Scrollen wird die Navigationsleiste wieder weiß. */
.home-page .header{
  position:fixed;
  top:0;
  left:0;
  right:0;
  width:100%;
  background:transparent;
  border-bottom:0;
  box-shadow:none;
  transition:background .28s ease,border-color .28s ease,box-shadow .28s ease;
}
.home-page .header .nav a{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.38);
}
.home-page .header .nav a.active,
.home-page .header .nav a:hover{
  color:#fff;
  opacity:.9;
}
.home-page .header .logo-title,
.home-page .header .logo-sub{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.38);
}
.home-page .header .logo-mark{
  color:#fff;
  border-color:rgba(255,255,255,.65);
  background:rgba(0,0,0,.08);
}
.home-page .header .menu{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.45);
}
.home-page .header .menu span{background:#fff}
.home-page .hero-slider::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:165px;
  z-index:2;
  pointer-events:none;
  background:linear-gradient(to bottom,rgba(0,0,0,.42),rgba(0,0,0,.18),rgba(0,0,0,0));
}
.home-page .slider-arrow,
.home-page .slider-dots{z-index:3}
.home-page .header.is-scrolled{
  background:#fff;
  border-bottom:1px solid var(--line);
  box-shadow:0 10px 25px rgba(42,31,22,.08);
}
.home-page .header.is-scrolled .nav a,
.home-page .header .nav.open a{
  color:#4a4641;
  text-shadow:none;
}
.home-page .header.is-scrolled .nav a.active,
.home-page .header.is-scrolled .nav a:hover,
.home-page .header .nav.open a.active,
.home-page .header .nav.open a:hover{
  color:var(--wood-dark);
  opacity:1;
}
.home-page .header.is-scrolled .logo-title,
.home-page .header.is-scrolled .logo-sub{
  color:var(--ink);
  text-shadow:none;
}
.home-page .header.is-scrolled .logo-sub{color:#70675f}
.home-page .header.is-scrolled .logo-mark{
  color:var(--wood);
  border-color:#dfcdbb;
  background:transparent;
}
.home-page .header.is-scrolled .menu{
  background:#fff;
  border-color:var(--line);
}
.home-page .header.is-scrolled .menu span{background:#37322d}
@media(max-width:900px){
  .home-page .header .nav.open{
    background:#fff;
    border-color:var(--line);
  }
}

/* V9: Eigenständige Wortmarke ohne Kreis-Icon.
   Das ähnliche runde Zeichen wurde entfernt; die Textanordnung ist breiter,
   sauber linksbündig und klarer vom Vorbild abgegrenzt. */
.logo-text-only{
  gap:0;
  min-width:190px;
}
.logo-wordmark{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  line-height:1;
}
.logo-text-only .logo-title{
  font-size:1.36rem;
  font-weight:800;
  letter-spacing:.075em;
  line-height:.92;
}
.logo-text-only .logo-sub{
  margin-top:4px;
  font-size:1.02rem;
  font-weight:500;
  letter-spacing:.18em;
  line-height:1;
  padding-left:2px;
}
.logo-mark{display:none!important}
.home-page .header .logo-text-only .logo-title,
.home-page .header .logo-text-only .logo-sub{
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.42);
}
.home-page .header.is-scrolled .logo-text-only .logo-title{
  color:var(--ink);
  text-shadow:none;
}
.home-page .header.is-scrolled .logo-text-only .logo-sub{
  color:#70675f;
  text-shadow:none;
}
@media(max-width:600px){
  .logo-text-only{min-width:150px}
  .logo-text-only .logo-title{font-size:1.08rem;letter-spacing:.06em}
  .logo-text-only .logo-sub{font-size:.82rem;letter-spacing:.14em;margin-top:3px}
}



/* V10: Eigenes hochgeladenes Logo mit transparentem Hintergrund eingebaut. */
.logo-image{
  display:flex;
  align-items:center;
  min-width:255px;
}
.logo-image-mark{
  display:block;
  height:78px;
  width:auto;
  max-width:min(100%, 360px);
}
.home-page .header .logo-image-mark{
  filter:brightness(0) invert(1) drop-shadow(0 2px 10px rgba(0,0,0,.35));
}
.home-page .header.is-scrolled .logo-image-mark{
  filter:none;
}
@media(max-width:900px){
  .logo-image{min-width:205px}
  .logo-image-mark{height:64px;max-width:290px}
}
@media(max-width:600px){
  .logo-image{min-width:160px}
  .logo-image-mark{height:48px;max-width:220px}
}


/* V11: Logo bewusst etwas größer gemacht, damit es auf der Startseite lesbarer wirkt. */


/* V12: Logo deutlich größer und mit separater heller/dunkler PNG-Variante für bessere Lesbarkeit. */
.header-inner{height:100px}
.logo-image{display:flex;align-items:center;min-width:320px}
.logo-image-mark{display:block;height:98px;width:auto;max-width:min(100%,430px)}
.logo-image-light{display:none}
.inner-page .logo-image-dark,
.home-page .header.is-scrolled .logo-image-dark{display:block}
.inner-page .logo-image-light,
.home-page .header.is-scrolled .logo-image-light{display:none}
.home-page .header:not(.is-scrolled) .logo-image-dark{display:none}
.home-page .header:not(.is-scrolled) .logo-image-light{display:block}
@media(max-width:900px){
  .nav{top:100px}
  .header-inner{height:92px}
  .logo-image{min-width:240px}
  .logo-image-mark{height:76px;max-width:320px}
}
@media(max-width:600px){
  .header-inner{height:82px}
  .nav{top:82px}
  .logo-image{min-width:175px}
  .logo-image-mark{height:56px;max-width:240px}
}


/* V14: Footer-Hinweis für ReBu-Systems mit klickbarem Logo-Link. */
.footer-credit{display:flex;align-items:center;gap:12px;padding:10px 14px;border:1px solid #d7cec5;background:#fff;color:#3a352f;box-shadow:0 8px 18px rgba(42,31,22,.06);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}
.footer-credit:hover{transform:translateY(-1px);box-shadow:0 12px 22px rgba(42,31,22,.1);border-color:#cbb9aa}
.footer-credit-text{font-family:Arial,sans-serif;font-size:.76rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;color:#6d645c}
.footer-credit img{display:block;height:34px;width:auto;max-width:220px}
@media(max-width:900px){.footer-credit{width:100%;justify-content:center}.footer-inner{justify-content:center}}
@media(max-width:600px){.footer-credit{flex-direction:column;gap:8px;padding:12px}.footer-credit-text{text-align:center;white-space:normal}.footer-credit img{height:30px;max-width:200px}}


/* V15: Footer-Credit dezenter, ohne Kasten und optisch ruhiger. */
.footer-credit{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;box-shadow:none;color:#3d3833;transition:opacity .18s ease,transform .18s ease}
.footer-credit:hover{transform:none;box-shadow:none;border:0;opacity:.88}
.footer-credit-text{font-family:Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#7a7168}
.footer-credit img{display:block;height:28px;width:auto;max-width:185px}
@media(max-width:900px){.footer-credit{width:auto;justify-content:center}}
@media(max-width:600px){.footer-credit{flex-direction:column;gap:6px;padding:0}.footer-credit-text{text-align:center;white-space:normal}.footer-credit img{height:24px;max-width:170px}}


/* V16: Footer-Credit mit sauberem ReBu-Systems Schriftzug, ReBu- dunkel statt weiß. */
.footer-credit{display:flex;align-items:center;gap:10px;padding:0;border:0;background:transparent;box-shadow:none;color:#3d3833;transition:opacity .18s ease}
.footer-credit:hover{transform:none;box-shadow:none;border:0;opacity:.88}
.footer-credit-text{font-family:Arial,sans-serif;font-size:.68rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;color:#7a7168}
.footer-credit-brand{display:inline-flex;align-items:center;gap:8px}
.footer-credit-brand img{display:block;height:30px;width:auto}
.footer-credit-name{display:inline-flex;align-items:baseline;font-family:Arial,sans-serif;font-weight:800;font-size:1rem;letter-spacing:-.01em;line-height:1}
.footer-credit-name-dark{color:#21242b}
.footer-credit-name-blue{color:#0a56d8}
@media(max-width:600px){.footer-credit{flex-direction:column;gap:6px}.footer-credit-text{text-align:center;white-space:normal}.footer-credit-brand img{height:26px}.footer-credit-name{font-size:.94rem}}


/* V17: Eigener Divider statt einfachem Strich, damit er sich klar vom Vorbild absetzt. */
.divider{width:126px;height:18px;margin:18px auto 28px;background:linear-gradient(var(--wood),var(--wood)) left center/42px 2px no-repeat,linear-gradient(var(--wood),var(--wood)) right center/42px 2px no-repeat;border-radius:0;position:relative}
.divider::before{content:"";position:absolute;left:50%;top:50%;width:12px;height:12px;border:2px solid var(--wood);transform:translate(-50%,-50%) rotate(45deg);box-sizing:border-box;background:transparent}
