
:root{
  --bg:#0b0f0c; --fg:#e8efe8; --muted:#b8c6b8;
  --brand:#1db954; --brand-dark:#169245;
  --card:#121813; --line:#233224;
}
*{box-sizing:border-box} html{scroll-behavior:smooth}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;background:var(--bg);color:var(--fg);line-height:1.6}
a{color:var(--brand);text-decoration:none} a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:0 1rem}

/* Header/Nav */
.header{
  background: url('assets/header-wald.webp') center/cover no-repeat, #0a160d;
  position:relative;min-height:72vh;display:flex;flex-direction:column;isolation:isolate;
}
/* stronger overlay for contrast */
.header::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(0,0,0,.55),rgba(0,0,0,.45) 40%, rgba(0,0,0,.65));
  z-index:0;
}
.topbar{position:relative;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:0.75rem 1rem}
.logo{display:flex;align-items:center;gap:.8rem}
/* Bigger logo for visibility */
.logo img{height:86px;width:auto;filter:drop-shadow(0 2px 8px rgba(0,0,0,.6))}
.logo strong{font-size:1.1rem}
.nav{display:flex;gap:1rem;align-items:center}
.nav a{color:#f2fff2;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.6)}
.burger{display:none;border:1px solid var(--line);background:rgba(0,0,0,.4);color:#fff;border-radius:10px;padding:.35rem .6rem}

/* Hero */
.hero{position:relative;z-index:1;flex:1;display:flex;align-items:center}
.hero-inner{padding:3rem 1rem}
/* Add semi-transparent panel for better contrast */
.hero-panel{display:inline-block;background:rgba(0,0,0,.45);backdrop-filter:saturate(120%) blur(2px);
  border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:1.25rem 1.25rem;max-width:720px}
h1{font-size:clamp(2rem,3.8vw,3.2rem);margin:.2rem 0;text-shadow:0 2px 8px rgba(0,0,0,.6)}
.lead{max-width:60ch;color:#eef9ee;text-shadow:0 1px 3px rgba(0,0,0,.6)}
.cta{display:inline-block;margin-top:1rem;background:var(--brand);color:#04210c;padding:.9rem 1.2rem;border-radius:12px;font-weight:800}
.cta:hover{background:var(--brand-dark)}

/* Sections */
.section{padding:3rem 0;border-top:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,0.02),transparent)}
.section h2{margin-top:0;margin-bottom:1.5rem;font-size:clamp(1.4rem,2.5vw,2rem)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:1rem}
.card h3{margin-top:.2rem}
.badge{display:inline-block;background:#17361e;color:#9ad49a;border:1px solid #2d5b35;padding:.15rem .5rem;border-radius:999px;font-size:.8rem;margin-bottom:.4rem}

/* Decorative full-width images – make subtler */
.fullimage{position:relative;margin:1rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);max-height:360px;overflow:hidden}
.fullimage img{width:100%;height:100%;object-fit:cover;display:block;filter:brightness(0.75) contrast(0.95)}
.fullimage .overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.25),rgba(0,0,0,.35))}

/* Kontakt */
.contact-wrap{display:grid;grid-template-columns:1.2fr .8fr;gap:1.25rem}
form{background:var(--card);border:1px solid var(--line);padding:1rem;border-radius:14px}
label{display:block;font-weight:600;margin-top:.6rem}
input,textarea{width:100%;padding:.75rem;border-radius:10px;border:1px solid #2a3a2b;background:#0e140f;color:var(--fg)}
textarea{min-height:140px;resize:vertical}
button[type=submit]{margin-top:1rem;background:var(--brand);border:none;color:#031b0a;padding:.95rem 1.1rem;border-radius:12px;font-weight:800;cursor:pointer}
button[type=submit]:hover{background:var(--brand-dark)}
.addr{background:var(--card);border:1px solid var(--line);padding:1rem;border-radius:14px}
.addr a{word-break:break-word}

/* Impressum/Datenschutz */
.small{font-size:.95rem;color:var(--muted)}
.footer{border-top:1px solid var(--line);padding:1rem 0;color:var(--muted);text-align:center}

/* Responsive */
@media (max-width: 900px){
  .grid{grid-template-columns:1fr 1fr}
  .contact-wrap{grid-template-columns:1fr}
  .logo img{height:72px}
}
@media (max-width: 640px){
  .nav{display:none}
  .nav.open{display:flex;flex-direction:column;gap:.5rem;position:absolute;left:1rem;top:72px;background:#0f1a12;border:1px solid var(--line);padding:.75rem 1rem;border-radius:12px}
  .burger{display:block}
  .grid{grid-template-columns:1fr}
  .logo img{height:60px}
}

/* Duo images: show both pictures fully, side-by-side (contain), subtle card style */
.duo{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1rem 0}
.duo-item{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:.5rem;display:flex;align-items:center;justify-content:center;max-height:360px}
.duo-item img{max-width:100%;max-height:340px;object-fit:contain;display:block}
@media (max-width: 900px){
  .duo{grid-template-columns:1fr}
}

/* Subtle gallery */
.gallery{display:grid;grid-template-columns:repeat(auto-fit, minmax(160px, 1fr));gap:.75rem;margin:1rem 0}
.gitem{background:var(--card);border:1px solid var(--line);border-radius:12px;overflow:hidden}
.gitem img{width:100%;height:160px;object-fit:cover;display:block;opacity:.95;transition:opacity .2s ease}
.gitem img:hover{opacity:1}

/* Accordion for legal sections */
.accordion{background:transparent;border:1px solid var(--line);border-radius:14px;padding:.25rem .75rem;margin:1rem 0}
.accordion > summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.5rem}
.accordion > summary::-webkit-details-marker{display:none}
.accordion > summary h2{margin:.5rem 0}
.accordion[open] > summary h2::after{content:"";}
.acc-body{padding:.5rem 0 1rem 0}

/* Extra spacing between logo and navigation */
.topbar{gap:2rem}
.topbar .logo{margin-left:2rem}
.nav{gap:1.6rem}
