:root {
  --ink:#1a1a1a;
  --accent:#8a6f4d;
}
*{box-sizing:border-box;margin:0;padding:0}
body{
  font-family:"Poppins",sans-serif;
  color:var(--ink);
  background:#fff;
  line-height:1.6;
  padding-top:90px;
}

/* HEADER */
.header{
  position:fixed;top:0;width:100%;
  background:rgba(255,255,255,0.9);
  backdrop-filter:blur(8px);
  border-bottom:1px solid rgba(0,0,0,0.05);
  z-index:1000;
}
.header__inner{
  max-width:1200px;margin:0 auto;
  padding:1rem 1.5rem;
  display:flex;justify-content:space-between;align-items:center;
}
.logo img{height:72px;transition:height .3s ease;}
.nav-desktop{display:flex;gap:1.5rem;}
.nav-desktop a{
  text-decoration:none;font-weight:500;color:#222;
  transition:color .2s ease;
}
/* alte Unterstreichung war störend – bleibt aus */
.nav-desktop a:hover{color:var(--accent);}

/* HERO */
.hero{
  position:relative;
  height:80vh;
  background:url('../images/hero.jpg') center/cover no-repeat;
  display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;
}
.hero__scrim{
  position:absolute;inset:0;
  background:linear-gradient(to bottom,rgba(0,0,0,0.35),rgba(0,0,0,0.65));
}
.hero__content{position:relative;z-index:1;max-width:700px;padding:0 1rem;}
.hero__logo{
  width:clamp(240px,35vw,420px);
  margin-bottom:1.2rem;
  filter:drop-shadow(0 3px 8px rgba(0,0,0,.3));
  transition: opacity 0.35s ease, transform 0.35s ease; /* konsolidiert */
}
.hero__title{
  font-size:clamp(2.3rem,4vw,3.6rem);
  line-height:1.25;font-weight:600;margin-bottom:.5rem;
}
.hero__subtitle{font-size:1.2rem;color:rgba(255,255,255,0.85);margin-bottom:1.8rem;}
.hero__actions{display:flex;justify-content:center;gap:1.2rem;margin-top:1.8rem;}

/* BUTTONS */
.btn{display:inline-block;padding:.7rem 1.3rem;border-radius:10px;
  font-weight:500;text-decoration:none;transition:all .3s;}
.btn--primary{background:rgba(224,196,143,0.25);border:1px solid rgba(224,196,143,0.5);color:#fff;}
.btn--primary:hover{background:rgba(224,196,143,0.4);}
.btn--ghost{background:transparent;color:#fff;border:1px solid rgba(255,255,255,0.4);}
.btn--ghost:hover{background:rgba(255,255,255,0.25);}

/* NOTICE */
.hero__notice{
  position:absolute;
  bottom:25px;right:25px;
  background:rgba(255,255,255,0.15);
  backdrop-filter:blur(6px);
  color:#fff;padding:1rem 1.3rem;
  border-radius:12px;font-weight:500;
  font-size:.95rem;border:1px solid rgba(255,255,255,0.25);
  text-align:left;max-width:320px;z-index:10;
}
.notice-btn{
  display:inline-block;margin-top:.6rem;padding:.45rem .9rem;
  background:rgba(255,255,255,0.2);
  border:1px solid rgba(255,255,255,0.4);
  border-radius:8px;color:#fff;
  font-size:.9rem;text-decoration:none;
  transition:all .25s ease;backdrop-filter:blur(4px);
}
.notice-btn:hover{background:rgba(255,255,255,0.4);}

/* CONTENT */
.section,.section-alt,.intro{padding:5rem 1rem;text-align:center;}
.intro{background:#fafafa;}
.section-alt{background:#fff8f0;}
.wrapper{max-width:800px;margin:0 auto;}
h2{font-size:2rem;margin-bottom:1rem;}
p{font-size:1.1rem;color:#444;}

/* ===== TESTIMONIAL – bewusst ausgeblendet ===== */
.testimonial { display: none; }

/* ===== GALERIE ===== */
.gallery { background:#fff; padding:5rem 1rem; text-align:center; }
.gallery h2 { margin-bottom:2rem; font-size:2rem; color:#222; }
.gallery-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(200px,1fr));
  gap:1rem;
}
.gallery-grid img {
  width:100%; height:220px; object-fit:cover; border-radius:8px;
  transition:transform .3s ease, opacity .3s ease;
}
.gallery-grid img:hover { transform:scale(1.04); opacity:.95; }

/* ===== SUPPORT CTA ===== */
.support {
  background: linear-gradient(135deg, #f4f1ec, #eae6df);
  text-align: center;
  padding: 6rem 1rem;
}
.support h2 { color:#222; margin-bottom:1rem; }
.support p { max-width:680px; margin:0 auto 2rem; color:#444; font-size:1.1rem; line-height:1.6; }
.btn-primary {
  background:#8a6f4d; color:#fff; padding:.9rem 2rem; border-radius:6px; text-decoration:none; font-weight:600;
  transition:background .3s ease, transform .3s ease;
}
.btn-primary:hover { background:#6f563c; transform:scale(1.03); }

/* ===== TEAM SEITE (unverändert) ===== */
.team-section { background:#fafafa; padding:5rem 1rem; text-align:center; }
.team-grid { margin-top:3rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:2rem; }
.team-member img { width:160px; height:160px; border-radius:50%; object-fit:cover; margin-bottom:1rem; }
.team-member h3 { margin-bottom:.3rem; }
.team-member p { font-size:.95rem; color:#555; }

/* ===== FOOTER (hell) ===== */
footer.footer {
  background:#f5f3ef; color:#222; padding:3rem 1rem 2rem;
  font-size:.95rem; border-top:1px solid rgba(0,0,0,0.05);
}
.footer-wrapper {
  max-width:1200px; margin:0 auto; display:flex; align-items:flex-start; justify-content:space-between;
  flex-wrap:wrap; gap:2rem;
}
.footer-left p { margin:.3rem 0; color:#333; }
.footer-title { font-weight:600; font-size:1.1rem; margin-bottom:.4rem; color:#000; }
.footer-right { text-align:right; }
.footer-links a { color:#8a6f4d; text-decoration:none; margin:0 .3rem; transition:color .3s ease; }
.footer-links a:hover { color:#000; text-decoration:underline; }
.footer-logo { height:46px; width:auto; margin-top:.6rem; opacity:.85; transition:opacity .3s ease; }
.footer-logo:hover { opacity:1; }
.footer-bottom { text-align:center; margin-top:2rem; font-size:.85rem; color:#555; }

@media (max-width:820px){
  .footer-wrapper{ flex-direction:column; text-align:center; gap:1.2rem; }
  .footer-right{ text-align:center; }
  .footer-logo{ height:40px; margin:.4rem auto 0; }
}

/* --- MOBILE NAV FIX (LOCKED) --- */
.nav-toggle{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:6px;width:44px;height:44px;border:none;border-radius:50%;
  background:rgba(0,0,0,.75);backdrop-filter:blur(6px);
  position:fixed;top:1rem;right:1rem;cursor:pointer;
  transition:background .25s ease;z-index:999999!important;
}
.nav-toggle span{display:block;width:22px;height:3px;border-radius:2px;background:#fff;transition:all .3s ease;}
.nav-toggle.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px);}
.nav-toggle.active span:nth-child(2){opacity:0;}
.nav-toggle.active span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px);}
.nav-toggle:hover{background:rgba(0,0,0,.85);}
@media (max-width:820px){
  .nav-desktop{display:none;}
  .nav-overlay{position:fixed;inset:0;z-index:5000;display:flex;flex-direction:column;
    justify-content:center;align-items:center;gap:2rem;background:rgba(15,15,15,.97);
    transform:translateY(-100%);opacity:0;transition:transform .4s ease,opacity .4s ease;}
  .nav-overlay.active{transform:translateY(0);opacity:1;}
  .nav-overlay a{color:#fff;text-decoration:none;font-weight:600;font-size:1.35rem;}
  .nav-overlay a:hover{color:#e0c48f;}
  body.menu-open{overflow:hidden;}
}
/* --- END MOBILE NAV FIX (LOCKED) --- */

/* --- FINALE MOBILE NOTIZ FIX (LOCKED) --- */
@media (max-width:820px){
  .hero{display:block!important;}
  .hero__content{text-align:center;margin-bottom:1rem;}
  .hero__notice{
    position:relative!important;display:block!important;
    margin:1.5rem auto 0 auto!important;text-align:center!important;
    background:rgba(255,255,255,0.25)!important;
    max-width:90%!important;
  }
}
@media (min-width:821px){.nav-toggle{display:none!important;}}
body.menu-open .header{opacity:0;pointer-events:none;}

/* === HERO-LOGO DIMMEN BEIM SCROLLEN – nur General Sibling (stabil) === */
.header.is-shrink ~ .hero .hero__logo {
  opacity: 0.72;
  transform: scale(0.96);
}

/* === NAVIGATION MODERN CLEAN === */
.nav-desktop a {
  position: relative;
  color: #111;
  text-decoration: none !important;
  font-weight: 500;
  transition: color 0.25s ease;
}
.nav-desktop a::after {
  content: "";
  position: absolute;
  left: 0; bottom: -3px;
  width: 0; height: 2px;
  background: #8a6f4d;
  transition: width 0.3s ease;
}
.nav-desktop a:hover { color: #8a6f4d; }
.nav-desktop a:hover::after { width: 100%; }

/* ===== Rechtstexte & Backlink (unverändert) ===== */
.legal-section{padding:6rem 1rem;background:#fafafa;color:#333;}
.legal-section .wrapper{max-width:800px;margin:0 auto;}
.legal-section h1{font-size:2rem;margin-bottom:1.5rem;color:#111;}
.legal-section p{margin-bottom:1rem;line-height:1.6;}
.legal-section a{color:#8a6f4d;text-decoration:none;}
.legal-section a:hover{text-decoration:underline;}
.backlink{text-align:center;margin-top:3rem;}
.backlink a{color:#8a6f4d;text-decoration:none;font-weight:500;transition:color .2s ease;}
.backlink a:hover{text-decoration:underline;color:#000;}

/* Scroll-to-top (unverändert) */
#scrollTopBtn{
  position:fixed;bottom:2rem;right:1.5rem;background:#8a6f4d;color:#fff;border:none;border-radius:50%;
  width:48px;height:48px;font-size:1.4rem;font-weight:600;cursor:pointer;opacity:0;visibility:hidden;
  transition:all .3s ease;box-shadow:0 3px 8px rgba(0,0,0,0.2);z-index:200;
}
#scrollTopBtn.visible{opacity:1;visibility:visible;transform:translateY(0);}
#scrollTopBtn:hover{background:#6f563c;transform:scale(1.1);}

/* === MOBILE: Hero-Notiz zentrieren === */
@media (max-width: 820px) {
  .hero__notice {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    bottom: auto !important;
    display: block !important;
    margin: 1.25rem auto 0 !important;   /* zentriert */
    max-width: min(90%, 420px) !important;
    text-align: center !important;
    background: rgba(255, 255, 255, 0.25) !important; /* bleibt dezent transparent */
  }
}

/* MOBILE: Seitenlogo ausblenden, da im Overlay-Navi bereits vorhanden */
@media (max-width: 820px) {
  .page-logo { display: none !important; }
  h1 { margin-top: 0.75rem; } /* kleines Ausgleichs-Spacing */
}
