:root{--forest:#1f5434;--forest2:#143b27;--turq:#087d9f;--cream:#fbf5e9;--sand:#f0e3cc;--ochre:#bf7935;--ink:#24302a;--muted:#68736d;--white:#fff;--max:1140px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream);line-height:1.7}
.site-header{position:sticky;top:0;z-index:10;background:rgba(251,245,233,.96);backdrop-filter:blur(10px);border-bottom:1px solid #dfd3bd;display:flex;align-items:center;gap:28px;padding:10px max(20px,calc((100vw - var(--max))/2))}
.brand{display:block;margin-right:auto;margin-left:-80px}
.brand img{display:block;width:520px;max-height:135px;object-fit:contain}
.main-nav{display:flex;gap:18px;align-items:center}
.main-nav a,footer a{color:var(--forest2);text-decoration:none;font-weight:700;font-size:.95rem}
.main-nav a:hover,footer a:hover{color:var(--turq)}
.menu-button{display:none;border:1px solid var(--forest);background:transparent;padding:8px 12px;border-radius:8px;color:var(--forest);font-weight:700}
.hero{min-height:570px;display:grid;place-items:center;position:relative;overflow:hidden;background:linear-gradient(115deg,rgba(20,59,39,.94),rgba(8,125,159,.74)),radial-gradient(circle at 80% 20%,#d3a15c 0 2%,transparent 22%),linear-gradient(#5d8f7b,#d7c99f)}
.hero:after{content:"";position:absolute;inset:auto 0 0;height:120px;background:linear-gradient(transparent,rgba(20,59,39,.48))}
.hero-inner{position:relative;z-index:1;width:min(900px,90%);text-align:center;color:#fff}
.hero h1{font-family:Georgia,serif;font-size:clamp(2.4rem,6vw,4.8rem);line-height:1.05;margin:.2em 0}
.lead{font-size:1.2rem;max-width:760px;margin:20px auto}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:.76rem;font-weight:800;color:var(--turq)}
.hero .eyebrow{color:#c7f2e5}
.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:30px}
.button{display:inline-block;padding:12px 20px;border-radius:999px;border:2px solid transparent;text-decoration:none;font-weight:800;font-size:.95rem}
.primary{background:var(--ochre);color:#fff}
.secondary{background:transparent;color:var(--forest);border-color:var(--forest)}
.hero .secondary{color:#fff;border-color:#fff}
.section{padding:76px max(20px,calc((100vw - var(--max))/2))}
.section h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);line-height:1.15;margin:.15em 0 .7em;color:var(--forest2)}
.prose{max-width:none;margin:0;padding-left:max(20px,calc((100vw - 920px)/2));padding-right:max(20px,calc((100vw - 920px)/2))}
.prose p{font-size:1.06rem}
.tinted{background:#efe3cc}
.section-head{text-align:center}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cards article{background:#fffaf1;border:1px solid #ddcfb8;border-radius:18px;padding:24px}
.cards article span{font-size:2rem}
.cards h3{color:var(--forest2);margin:.4em 0}
blockquote{margin:42px auto 0;max-width:880px;padding:26px 30px;border-left:5px solid var(--ochre);background:rgba(255,255,255,.55);font-family:Georgia,serif;font-size:1.35rem;color:var(--forest2)}
.accent-line{border-left:4px solid var(--turq);padding-left:18px}
.journey{background:#e4efe8}
.timeline{list-style:none;padding:0;margin:35px auto 0;max-width:900px}
.timeline li{position:relative;padding:0 0 28px 38px;border-left:3px solid #a8c2b2}
.timeline li:before{content:"";position:absolute;left:-10px;top:5px;width:17px;height:17px;border-radius:50%;background:#fff;border:3px solid #7e9d89}
.timeline li.done:before{background:var(--forest)}
.timeline li.active:before{background:var(--ochre);box-shadow:0 0 0 6px rgba(191,121,53,.18)}
.timeline strong,.timeline span{display:block}
.timeline strong{color:var(--forest2);font-size:1.08rem}
.timeline span{color:var(--muted)}
.transparency{text-align:center;background:var(--forest2);color:#edf6ef}
.transparency h2,.transparency .eyebrow{color:#fff}
.transparency blockquote{background:rgba(255,255,255,.08);color:#fff;border-left:0;border-top:3px solid var(--ochre)}
.transparency p{max-width:830px;margin:18px auto}
.split{display:grid;grid-template-columns:1.4fr .85fr;gap:50px;align-items:center}

/* Bild im Bereich "Martin & Silvia" */
.about-photo{margin:0;width:100%}
.about-photo img{display:block;width:100%;height:auto;border-radius:24px}
.about-photo figcaption{margin-top:9px;text-align:center;color:var(--muted);font-size:.78rem;line-height:1.4;font-style:italic}

.community{background:#f2e7d4}
.community p{max-width:850px}
.button:disabled{opacity:.55;cursor:not-allowed}
.contact form{max-width:900px;display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact label{font-weight:700;color:var(--forest2)}
.contact input,.contact textarea{width:100%;margin-top:6px;padding:12px;border:1px solid #b5b7af;border-radius:10px;background:#fff;font:inherit}
.contact .full{grid-column:1/-1}
.form-note{font-size:.9rem;color:var(--muted)}
footer{background:#122d21;color:#e8f1ea;text-align:center;padding:38px 20px}
footer img{width:240px;max-width:80%;filter:none}
footer nav{display:flex;justify-content:center;gap:18px;flex-wrap:wrap}
footer a{color:#d9ebe0}
.fineprint{color:#acbdb2;font-size:.9rem}

/* Tablet und kleinere Fenster */
@media(max-width:1100px){
  .site-header{flex-wrap:wrap}
  .brand{margin-left:0}
  .menu-button{display:block}
  .main-nav{display:none;width:100%;flex-direction:column;align-items:flex-start;padding:10px 0}
  .main-nav.open{display:flex}
  .brand img{width:210px}
  .cards{grid-template-columns:1fr 1fr}
  .split{grid-template-columns:1fr}
  .about-photo{max-width:650px;margin:10px auto 0}
  .hero{min-height:510px}
}

/* Smartphone */
@media(max-width:600px){
  .section{padding-top:58px;padding-bottom:58px}
  .cards{grid-template-columns:1fr}
  .contact form{grid-template-columns:1fr}
  .contact .full{grid-column:auto}
  .hero h1{font-size:2.5rem}
  .brand img{width:185px}
}