:root{
    --forest-deep:#132821;
    --forest:#1f4536;
    --forest-mid:#3c6b57;
    --river:#2b5b74;
    --sky:#7fabc2;
    --paper:#eef2ee;
    --card:#f8faf7;
    --ink:#132420;
    --ink-soft:#3d4c47;
    --line: rgba(19,36,32,0.14);
    --bg: var(--paper);
    --fg: var(--ink);
    --card-bg: var(--card);
    --header-bg: rgba(238,242,238,0.88);
    color-scheme: light;
    box-sizing:border-box;
    padding-top: env(safe-area-inset-top,0px);
    padding-bottom: env(safe-area-inset-bottom,0px);
  }
  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --bg:#0f201a;
      --fg:#e7efe9;
      --ink-soft:#b9c8c0;
      --card-bg:#16332a;
      --line: rgba(231,239,233,0.14);
      --header-bg: rgba(15,32,26,0.88);
      color-scheme: dark;
    }
  }
  :root[data-theme="dark"]{
    --bg:#0f201a;
    --fg:#e7efe9;
    --ink-soft:#b9c8c0;
    --card-bg:#16332a;
    --line: rgba(231,239,233,0.14);
    --header-bg: rgba(15,32,26,0.88);
    color-scheme: dark;
  }
  html{scroll-behavior:smooth; scroll-padding-top: calc(72px + env(safe-area-inset-top,0px));}
  *{box-sizing:border-box;}
  body{
    margin:0; background:var(--bg); color:var(--fg);
    font-family:"Work Sans, sans-serif", system-ui, -apple-system, sans-serif;
    font-size:17px; line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
  h1,h2,h3{
    font-weight:500; color:var(--fg);
    line-height:1.15; margin:0 0 .5em;
  }
  a{color:inherit;}
  img{max-width:100%; display:block; height:auto;}
  .wrap{max-width:1120px; margin:0 auto; padding:0 24px;}
  .prose{max-width:62ch;}

  /* header */
  header{
    position:sticky; top:0; z-index:50;
    padding-top: env(safe-area-inset-top,0px);
    background:var(--header-bg); backdrop-filter: blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav{display:flex; align-items:center; justify-content:space-between; padding:14px 24px; max-width:1120px; margin:0 auto;}
  .brand{font-size:1.15rem; font-weight:600; letter-spacing:.01em;}
  .brand span{display:block; font-size:.72rem; font-weight:400; color:var(--ink-soft); letter-spacing:.02em;}
  .navlinks{display:flex; gap:28px; list-style:none; margin:0; padding:0;}
  .navlinks a{text-decoration:none; font-size:.95rem; color:var(--ink-soft); border-bottom:1px solid transparent; padding-bottom:2px; transition:border-color .2s, color .2s;}
  .navlinks a:hover{color:var(--fg); border-color:var(--forest-mid);}
  .navtoggle{display:none; background:none; border:1px solid var(--line); border-radius:8px; width:40px; height:40px; font-size:1.2rem; color:var(--fg);}

  /* hero */
  .hero{position:relative; min-height:88vh; display:flex; align-items:flex-end; overflow:hidden;}
  .hero img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:60% 30%;}
  .hero::after{content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(19,40,33,.05) 0%, rgba(15,25,20,.35) 55%, rgba(10,18,15,.85) 100%);}
  .hero-content{position:relative; z-index:2; color:#f3f6f2; padding:64px 24px 56px; max-width:1120px; margin:0 auto; width:100%;}
  .hero-content h1{color:#fff; font-size:clamp(2.1rem, 5vw, 3.4rem); max-width:14ch;}
  .hero-content p{max-width:46ch; color:#dbe6df; font-size:1.05rem; margin-bottom:1.6em;}
  .btn{
    display:inline-block; background:var(--forest-mid); color:#fff; text-decoration:none;
    padding:13px 26px; border-radius:999px; font-size:.98rem; font-weight:500;
    border:1px solid transparent; transition:background .2s, transform .2s;
  }
  .btn:hover{background:var(--river); transform:translateY(-1px);}
  .btn-outline{background:transparent; border:1px solid rgba(255,255,255,.55); color:#fff;}
  .btn-outline:hover{background:rgba(255,255,255,.12);}

  section{padding:88px 0;}
  .eyebrow{color:var(--river); font-size:.85rem; margin-bottom:.6em;}
  .section-head{margin-bottom:44px;}
  .section-head p{color:var(--ink-soft); max-width:56ch;}

  /* about */
  .about-grid{display:grid; grid-template-columns:1.1fr .9fr; gap:56px; align-items:center;}
  .about-grid img{border-radius:18px;}
  .about-text p{color:var(--ink-soft); margin:0 0 1.1em;}
  .about-text p:first-of-type{color:var(--fg); font-size:1.12rem;}

  /* divider band */
  .band{position:relative; min-height:340px; display:flex; align-items:center; justify-content:center; overflow:hidden; margin:0;}
  .band img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover;}
  .band::after{content:""; position:absolute; inset:0; background:rgba(12,22,18,.5);}
  .band blockquote{position:relative; z-index:2; color:#f2f5f0; font-weight:500; font-size:clamp(1.3rem,3vw,1.9rem); text-align:center; max-width:30ch; margin:0 24px; line-height:1.35;}

  /* angebote */
  .cards{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  .card{background:var(--card-bg); border:1px solid var(--line); border-radius:18px; overflow:hidden;}
  .card img{aspect-ratio:4/3; object-fit:cover;}
  .card-body{padding:22px 22px 26px;}
  .card-body h3{font-size:1.15rem; margin-bottom:.4em;}
  .card-body p{color:var(--ink-soft); font-size:.96rem; margin:0;}

  /* vogelstimmen */
  .voice-grid{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center;}
  .voice-images{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .voice-images img{border-radius:16px;}
  .voice-text p{color:var(--ink-soft);}

  /* galerie */
  .gallery-grid{display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-bottom:36px;}
  .gallery-grid img{border-radius:16px;}
  .gallery-cta{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
  .gallery-cta a.btn{background:var(--river);}
  .gallery-cta a.btn:hover{background:var(--forest-mid);}
  .gallery-cta span{color:var(--ink-soft); font-size:.92rem;}

  /* kontakt */
  .contact-wrap{display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;}
  .contact-info dt{font-size:.82rem; color:var(--river); margin-top:22px;}
  .contact-info dt:first-child{margin-top:0;}
  .contact-info dd{margin:.2em 0 0; font-size:1.02rem;}
  form{display:grid; gap:14px;}
  label{font-size:.88rem; color:var(--ink-soft); display:block; margin-bottom:5px;}
  input, textarea, select{
    width:100%; padding:12px 14px; border-radius:10px; border:1px solid var(--line);
    background:var(--card-bg); color:var(--fg); font:inherit;
  }
  textarea{resize:vertical; min-height:110px;}
  .form-note{font-size:.85rem; color:var(--ink-soft); min-height:1.2em;}

  .form-success{
    background:var(--card-bg); border:1px solid var(--forest-mid); border-radius:16px;
    padding:32px 28px; text-align:center; outline:none;
  }
  .form-success-icon{
    width:44px; height:44px; margin:0 auto 14px; border-radius:50%;
    background:var(--forest-mid); color:#fff; font-size:1.3rem; font-weight:600;
    display:flex; align-items:center; justify-content:center;
  }
  .form-success h3{margin-bottom:.3em;}
  .form-success p{color:var(--ink-soft); margin:0;}

  footer{border-top:1px solid var(--line); padding:36px 0; }
  .footer-row{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:12px; color:var(--ink-soft); font-size:.88rem;}
  .footer-row a{color:var(--river); text-decoration:none;}
  .footer-row a:hover{text-decoration:underline;}

  @media (max-width: 860px){
    .navlinks{position:fixed; inset:64px 0 auto 0; background:var(--bg); flex-direction:column; padding:18px 24px 24px; border-bottom:1px solid var(--line); gap:16px; transform:translateY(-130%); transition:transform .25s ease; }
    .navlinks.open{transform:translateY(0);}
    .navtoggle{display:block;}
    .about-grid, .voice-grid, .contact-wrap{grid-template-columns:1fr;}
    .about-grid{gap:32px;}
    .about-grid > img{order:-1;}
    .cards{grid-template-columns:1fr;}
    .gallery-grid{grid-template-columns:1fr;}
    section{padding:64px 0;}
    .hero{min-height:78vh;}
  }
