:root {
  --bg: #f6f3ed;
  --surface: #ffffff;
  --surface-soft: #f0ede6;
  --surface-strong: rgba(255,255,255,0.83);
  --text: #1d2721;
  --muted: #5d6a62;
  --dark: #121512;
  --forest: #213426;
  --forest-deep: #18261c;
  --line: #dde2d8;
  --moss: #6f8e39;
  --moss-bright: #87aa47;
  --shadow: 0 18px 52px rgba(18, 21, 18, 0.08);
  --radius: 24px;
  --radius-sm: 16px;
  --container: min(1180px, calc(100% - 48px));
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--text);
  background: var(--bg);
  line-height: 1.6;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
p, h1, h2, h3 { margin-top: 0; }
.container { width: var(--container); margin: 0 auto; }
.section { padding: 88px 0; }
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
}
.skip-link:focus {
  left: 16px;
  top: 16px;
  background: #fff;
  padding: 10px 14px;
  border-radius: 10px;
  z-index: 1000;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(18, 21, 18, 0.95);
  backdrop-filter: blur(10px);
  box-shadow: 0 1px 0 rgba(255,255,255,0.05);
}
.header-row {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 24px;
  min-height: 84px;
}
.brand {
  display: inline-flex;
  align-items: center;
  padding: 10px 16px;
  background: #090b09;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
}
.brand img { width: 164px; height: auto; }
.main-nav {
  display: flex;
  justify-content: center;
  gap: 28px;
}
.main-nav a {
  color: rgba(255,255,255,0.88);
  font-size: 0.96rem;
}
.main-nav a:hover { color: #ffffff; }
.header-cta { justify-self: end; }
.menu-toggle {
  display: none;
  background: transparent;
  border: 0;
  padding: 0;
  cursor: pointer;
}
.menu-toggle span {
  display: block;
  width: 24px;
  height: 2px;
  border-radius: 999px;
  background: #fff;
  margin: 5px 0;
}

.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  border-radius: 999px;
  padding: 0 22px;
  font-weight: 600;
  transition: transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
  border: 1px solid transparent;
}
.button:hover { transform: translateY(-1px); }
.button-primary {
  background: linear-gradient(180deg, #88a949, #6f8e39);
  color: #fff;
  box-shadow: 0 10px 24px rgba(111, 142, 57, 0.25);
}
.button-primary:hover { background: linear-gradient(180deg, #8fb14b, #73953d); }
.button-secondary {
  background: rgba(255,255,255,0.68);
  color: var(--text);
  border-color: rgba(29,39,33,0.12);
}
.button-secondary:hover { background: #fff; }

.eyebrow {
  margin-bottom: 14px;
  font-size: 0.78rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--moss);
  font-weight: 700;
}
.eyebrow-light { color: rgba(255,255,255,0.82); }
.section-head {
  margin-bottom: 34px;
}
.section-head-split {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: 42px;
  align-items: end;
}
.section-head h2, .process-intro h2, .split-copy h2, .about-copy h2, .contact-details h2, .contact-cta h2 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.05;
  letter-spacing: -0.04em;
  margin-bottom: 0;
}
.section-head p:last-child,
.contact-details > p:last-of-type,
.split-copy p,
.about-copy p,
.contact-cta p:last-of-type { color: var(--muted); }

.hero {
  position: relative;
  min-height: 760px;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #d6d8d0;
}
.hero-media {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(246,243,237,0.98) 0%, rgba(246,243,237,0.84) 27%, rgba(246,243,237,0.24) 57%, rgba(18,21,18,0.08) 100%),
    url('assets/innenbegruenung.webp') center 34% / cover no-repeat;
}
.hero-grid {
  position: relative;
  z-index: 1;
  width: var(--container);
  display: grid;
  grid-template-columns: minmax(0, 560px) minmax(260px, 360px);
  justify-content: space-between;
  align-items: end;
  gap: 28px;
  padding: 120px 0 72px;
}
.surface-card {
  background: var(--surface);
  border: 1px solid rgba(29,39,33,0.08);
  box-shadow: var(--shadow);
  border-radius: var(--radius);
}
.surface-card-hero {
  background: var(--surface-strong);
  backdrop-filter: blur(8px);
  padding: 36px;
}
.hero h1 {
  font-size: clamp(2.8rem, 6.5vw, 5rem);
  line-height: 0.95;
  letter-spacing: -0.05em;
  margin-bottom: 20px;
  max-width: 10ch;
}
.hero .lead {
  max-width: 56ch;
  color: #47544c;
  font-size: 1.04rem;
}
.hero-actions {
  margin-top: 28px;
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
}
.hero-quote {
  justify-self: end;
  align-self: end;
  background: rgba(24,38,28,0.86);
  color: #f2f5ef;
  padding: 24px 24px 22px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,0.08);
  box-shadow: 0 18px 44px rgba(18,21,18,.18);
}
.hero-quote p { margin: 0; font-size: 1rem; }

.cards-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.service-card {
  padding: 22px;
  background: rgba(255,255,255,0.86);
  border-radius: 18px;
  border: 1px solid var(--line);
  box-shadow: 0 10px 30px rgba(18, 21, 18, 0.04);
}
.service-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(111,142,57,0.12);
  color: var(--moss);
  font-size: 0.88rem;
  font-weight: 700;
  margin-bottom: 14px;
}
.service-card h3 {
  font-size: 1.22rem;
  margin-bottom: 8px;
  letter-spacing: -0.03em;
}
.service-card p { margin: 0; color: var(--muted); font-size: 0.98rem; }
.highlight-bar {
  margin-top: 18px;
  padding: 22px 26px;
  border-radius: 20px;
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,0.84), rgba(240,237,230,0.9));
  display: flex;
  gap: 24px;
  justify-content: space-between;
  align-items: center;
}
.highlight-bar strong { display: block; margin-bottom: 4px; }
.highlight-bar p { margin: 0; color: var(--muted); }
.highlight-bar a { color: var(--moss); font-weight: 700; white-space: nowrap; }

.process-band {
  padding: 62px 0;
  background:
    linear-gradient(180deg, rgba(20,31,23,0.92), rgba(24,38,28,0.92)),
    radial-gradient(circle at 20% 20%, rgba(135,170,71,0.18), transparent 35%),
    radial-gradient(circle at 80% 30%, rgba(135,170,71,0.14), transparent 25%),
    linear-gradient(120deg, #213426, #18261c);
  color: #fff;
}
.process-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.15fr);
  gap: 34px;
  align-items: start;
}
.process-intro h2 { color: #fff; }
.process-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}
.process-steps article {
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 18px;
  background: rgba(255,255,255,0.05);
}
.process-steps span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: rgba(255,255,255,0.12);
  margin-bottom: 16px;
  font-weight: 700;
}
.process-steps h3 { font-size: 1.05rem; margin-bottom: 8px; }
.process-steps p { margin: 0; color: rgba(255,255,255,0.82); font-size: 0.95rem; }

.split-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 0;
  border-radius: 28px;
  overflow: hidden;
  box-shadow: var(--shadow);
}
.split-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.split-copy {
  padding: 56px;
  border-radius: 0;
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(248,245,239,0.98));
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.about-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
  gap: 34px;
  align-items: start;
}
.about-facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}
.about-facts article {
  padding: 18px;
  background: rgba(255,255,255,0.78);
  border: 1px solid var(--line);
  border-radius: 18px;
}
.about-facts strong {
  display: block;
  font-size: 1.3rem;
  margin-bottom: 4px;
}
.about-facts span { color: var(--muted); }
.about-visuals {
  display: grid;
  grid-template-columns: 1fr 0.76fr;
  gap: 14px;
  align-items: stretch;
}
.about-photo-card,
.leaf-card {
  border-radius: 24px;
  overflow: hidden;
  min-height: 100%;
}
.about-photo-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 34%;
}
.leaf-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.76), rgba(246,243,237,0.96)),
    radial-gradient(circle at 20% 20%, rgba(111,142,57,0.18), transparent 30%),
    radial-gradient(circle at 80% 80%, rgba(111,142,57,0.10), transparent 24%);
  border: 1px solid var(--line);
  display: grid;
  place-items: end start;
  padding: 28px;
}
.leaf-card-text {
  font-family: Georgia, "Times New Roman", serif;
  font-style: italic;
  font-size: clamp(1.6rem, 3vw, 2.3rem);
  line-height: 1.04;
  color: #3c4c42;
}
.leaf-card-text span { display: block; }

.contact-cta {
  padding: 40px 0;
  background: linear-gradient(180deg, #203427, #18261c);
  color: #fff;
}
.contact-cta-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.contact-cta h2 { color: #fff; margin-bottom: 10px; }
.contact-cta p:last-of-type { max-width: 55ch; color: rgba(255,255,255,0.8); }

.contact-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(340px, 1.08fr);
  gap: 34px;
}
.contact-details ul,
.site-footer ul { list-style: none; padding: 0; margin: 0; }
.contact-details li { margin-bottom: 10px; }
.contact-details a { color: var(--moss); }
.contact-form-panel {
  padding: 34px;
}
.contact-form-panel h3 { font-size: 1.5rem; margin-bottom: 8px; }
.contact-form-panel > p { color: var(--muted); margin-bottom: 22px; }
.form-grid {
  display: grid;
  gap: 16px;
}
.two-col { grid-template-columns: repeat(2, minmax(0, 1fr)); }
label { display: block; }
label span {
  display: block;
  font-weight: 600;
  margin-bottom: 8px;
}
input, textarea, select {
  width: 100%;
  border-radius: 14px;
  border: 1px solid #d7ddd4;
  background: #fff;
  padding: 14px 16px;
  font: inherit;
  color: var(--text);
}
textarea { resize: vertical; }
input:focus, textarea:focus, select:focus {
  outline: 2px solid rgba(135, 170, 71, 0.28);
  border-color: var(--moss);
}
.form-note, .form-feedback { font-size: 0.95rem; color: var(--muted); }
.form-feedback-ok { color: var(--moss); font-weight: 600; }
.form-feedback-error { color: #a4332a; font-weight: 600; }
.hp-field { position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

.site-footer {
  background: #111411;
  color: rgba(255,255,255,0.86);
}
.footer-grid {
  display: grid;
  grid-template-columns: 1.2fr 0.75fr 0.75fr;
  gap: 34px;
  padding: 60px 0 32px;
}
.footer-grid h3 {
  margin-bottom: 12px;
  font-size: 1rem;
  color: #fff;
}
.footer-grid p,
.footer-grid li { color: rgba(255,255,255,0.72); }
.footer-grid li { margin-bottom: 10px; }
.footer-grid a:hover { color: #fff; }
.footer-brand { margin-bottom: 16px; }
.footer-bottom {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 18px 0 28px;
  border-top: 1px solid rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.62);
  font-size: 0.92rem;
}

@media (max-width: 1080px) {
  .cards-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .process-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .hero-grid,
  .section-head-split,
  .split-layout,
  .about-grid,
  .contact-grid,
  .process-layout,
  .footer-grid { grid-template-columns: 1fr; }
  .about-visuals { grid-template-columns: 1fr 1fr; }
  .contact-cta-row { flex-direction: column; align-items: flex-start; }
}

@media (max-width: 860px) {
  .header-row { grid-template-columns: auto auto; }
  .menu-toggle { display: block; justify-self: end; }
  .header-cta { display: none; }
  .main-nav {
    display: none;
    position: absolute;
    top: 84px;
    left: 24px;
    right: 24px;
    flex-direction: column;
    align-items: flex-start;
    gap: 0;
    background: #171c18;
    padding: 14px;
    border-radius: 18px;
    box-shadow: 0 18px 48px rgba(0,0,0,0.22);
  }
  .main-nav.open { display: flex; }
  .main-nav a {
    width: 100%;
    padding: 12px 10px;
    border-bottom: 1px solid rgba(255,255,255,0.08);
  }
  .main-nav a:last-child { border-bottom: 0; }
  .hero {
    min-height: 640px;
    align-items: end;
  }
  .hero-grid {
    padding-top: 132px;
    grid-template-columns: 1fr;
    align-items: end;
  }
  .hero-quote {
    max-width: 420px;
    justify-self: start;
  }
}

@media (max-width: 640px) {
  :root { --container: min(100%, calc(100% - 32px)); }
  .section { padding: 68px 0; }
  .brand img { width: 136px; }
  .hero-media {
    background:
      linear-gradient(180deg, rgba(246,243,237,0.92) 0%, rgba(246,243,237,0.70) 36%, rgba(246,243,237,0.24) 60%, rgba(18,21,18,0.14) 100%),
      url('assets/innenbegruenung.webp') 66% 26% / cover no-repeat;
  }
  .surface-card-hero { padding: 24px; }
  .hero h1 { max-width: 9ch; }
  .cards-grid,
  .process-steps,
  .about-facts,
  .about-visuals,
  .two-col { grid-template-columns: 1fr; }
  .highlight-bar,
  .footer-bottom { flex-direction: column; align-items: flex-start; }
  .split-copy,
  .contact-form-panel { padding: 24px; }
  .footer-grid { padding-top: 48px; }
}

/* Multipage service design extensions */
.subhero{min-height:530px;display:flex;align-items:center;position:relative;isolation:isolate;background-color:#263428;overflow:hidden}
.subhero::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(13,24,17,.92) 0%,rgba(13,24,17,.75) 43%,rgba(13,24,17,.24) 100%),url("assets/innen-hero.webp") center 38% /cover no-repeat}
.subhero-aussen::before{background:linear-gradient(90deg,rgba(13,24,17,.92) 0%,rgba(13,24,17,.72) 43%,rgba(13,24,17,.2) 100%),url("assets/aussen-hero.webp") center center/cover no-repeat}
.subhero-content{padding:105px 0;color:white}
.subhero h1{font-size:clamp(3.1rem,6vw,5.4rem);max-width:760px;line-height:1.02;letter-spacing:-.055em;margin-bottom:18px}
.subhero-content>p:not(.eyebrow){font-size:1.17rem;max-width:640px;color:#e0e9df;line-height:1.65;margin-bottom:28px}
.crumbs{display:flex;gap:12px;align-items:center;font-size:.82rem;color:#748078;padding:22px 0}.crumbs a{color:#50673d}.crumbs span{white-space:nowrap}
.editorial-intro{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:end;margin-bottom:32px}
.editorial-intro h2,.feature-copy h2,.related h2,.bottom-cta h2{font-size:clamp(2rem,3.8vw,3.5rem);line-height:1.1;letter-spacing:-.045em;margin:0}
.editorial-intro>p{font-size:1.15rem;line-height:1.8;color:var(--muted);margin:0}
.sub-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.sub-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:28px;box-shadow:var(--shadow)}
.sub-card .num{font-size:.75rem;letter-spacing:.15em;color:#789445;font-weight:750}
.sub-card h3{font-size:1.35rem;margin:20px 0 8px;letter-spacing:-.025em}.sub-card p{color:var(--muted);margin:0}
.sub-feature{padding:70px 0;background:#eaece4}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:65px;align-items:center}
.feature-image{height:470px;border-radius:26px;overflow:hidden}.feature-image img{width:100%;height:100%;object-fit:cover}
.feature-copy ol{list-style:none;padding:0;margin:26px 0 34px}.feature-copy li{padding:14px 0;border-bottom:1px solid #cbd4c7;display:flex;gap:22px;font-weight:600}
.feature-copy li span{color:#678a3a}.related h2{margin-bottom:30px}.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.link-card{display:block;padding:27px;border-radius:20px;background:#fff;border:1px solid var(--line);transition:transform .2s,box-shadow .2s}
.link-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.link-card>span{color:var(--moss);font-size:.7rem;letter-spacing:.13em;font-weight:750}
.link-card h3{margin:22px 0 9px;font-size:1.4rem}.link-card p{margin:0;color:var(--muted);font-size:.92rem;line-height:1.55}
.bottom-cta{background:#1b3021;color:#fff;padding:62px 0}.bottom-cta>.container{display:flex;justify-content:space-between;align-items:center;gap:35px}.bottom-cta p:not(.eyebrow){color:#cddccc;margin:14px 0 0}
.service-card h3 a:hover{color:var(--moss)}
@media(max-width:900px){.editorial-intro,.feature-grid{grid-template-columns:1fr;gap:25px}.sub-cards,.related-grid{grid-template-columns:repeat(2,1fr)}.feature-image{height:380px}}
@media(max-width:620px){.subhero{min-height:490px}.subhero-content{padding:80px 0}.subhero h1{font-size:clamp(2.6rem,10vw,3.7rem)}.sub-cards,.related-grid{grid-template-columns:1fr}.bottom-cta>.container{flex-direction:column;align-items:flex-start}.feature-image{height:290px}.sub-feature{padding:55px 0}}

.overview-head{background:#1c3222;padding:90px 0;color:#fff}.overview-head h1{font-size:clamp(2.5rem,6vw,5rem);line-height:1.08;letter-spacing:-.05em}.overview-head p:last-child{color:#d0ddce;font-size:1.15rem}.overview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.overview-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}.overview-card img{width:100%;aspect-ratio:1.8;object-fit:cover}.overview-card span{font-size:1.35rem;font-weight:750;padding:20px 20px 2px}.overview-card small{color:var(--muted);padding:0 20px 22px;font-size:.9rem}@media(max-width:850px){.overview-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.overview-grid{grid-template-columns:1fr}}


/* V2 additions */
.main-nav { align-items:center; }
.nav-dropdown { position:relative; }
.nav-dropdown summary { list-style:none; cursor:pointer; color:rgba(255,255,255,0.88); font-size:.96rem; }
.nav-dropdown summary::-webkit-details-marker { display:none; }
.nav-dropdown summary::after { content:"▾"; margin-left:8px; font-size:.8em; opacity:.8; }
.dropdown-menu {
  position:absolute; top:calc(100% + 14px); left:50%; transform:translateX(-50%);
  min-width:290px; display:grid; gap:0; background:#171c18; border:1px solid rgba(255,255,255,.08);
  border-radius:18px; box-shadow:0 18px 48px rgba(0,0,0,.22); padding:10px; opacity:0; pointer-events:none;
}
.dropdown-menu a { padding:11px 12px; border-radius:12px; color:rgba(255,255,255,.88); }
.dropdown-menu a:hover, .dropdown-menu a[aria-current="page"] { background:rgba(255,255,255,.06); color:#fff; }
.nav-dropdown[open] .dropdown-menu, .nav-dropdown:hover .dropdown-menu, .nav-dropdown:focus-within .dropdown-menu { opacity:1; pointer-events:auto; }
.nav-dropdown[open] > summary, .nav-dropdown:hover > summary, .nav-dropdown:focus-within > summary { color:#fff; }
.hero-home .hero-media { background:linear-gradient(90deg, rgba(246,243,237,0.98) 0%, rgba(246,243,237,0.84) 27%, rgba(246,243,237,0.24) 57%, rgba(18,21,18,0.08) 100%), url('assets/hero-innen.png') center 42% / cover no-repeat; }
.subhero::before { background:linear-gradient(90deg,rgba(13,24,17,.92) 0%,rgba(13,24,17,.75) 43%,rgba(13,24,17,.24) 100%), var(--hero-image) center center / cover no-repeat; }
.overview-head { padding:110px 0 52px; background:linear-gradient(180deg,#203427,#18261c); color:#fff; }
.overview-head h1 { font-size:clamp(2.5rem, 5vw, 4.8rem); line-height:1; letter-spacing:-.05em; margin-bottom:12px; }
.overview-head p:last-child { max-width:62ch; color:rgba(255,255,255,.8); }
.overview-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.overview-card { display:block; background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:18px; overflow:hidden; box-shadow:0 10px 30px rgba(18,21,18,.05); }
.overview-card img { width:100%; height:220px; object-fit:cover; object-position:center; }
.overview-card span, .overview-card small { display:block; padding:0 18px; }
.overview-card span { padding-top:16px; font-size:1.12rem; font-weight:700; }
.overview-card small { padding-bottom:18px; color:var(--muted); }
.crumbs { display:flex; gap:8px; padding-top:18px; font-size:.95rem; color:var(--muted); }
.editorial-intro { display:grid; grid-template-columns:minmax(0,1fr) minmax(280px,.92fr); gap:32px; align-items:end; margin-bottom:26px; }
.editorial-intro h2, .feature-copy h2, .bottom-cta h2 { font-size:clamp(2rem,4vw,3.3rem); line-height:1.05; letter-spacing:-.04em; }
.sub-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.sub-card { padding:22px; background:rgba(255,255,255,.86); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 30px rgba(18,21,18,.04); }
.sub-card .num { display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:30px; padding:0 10px; border-radius:999px; background:rgba(111,142,57,.12); color:var(--moss); font-size:.88rem; font-weight:700; margin-bottom:14px; }
.sub-card h3 { font-size:1.2rem; margin-bottom:8px; }
.sub-card p { margin:0; color:var(--muted); }
.sub-feature { padding:20px 0 84px; }
.feature-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr); gap:0; border-radius:28px; overflow:hidden; box-shadow:var(--shadow); }
.feature-image { min-height:460px; }
.feature-image img { width:100%; height:100%; object-fit:cover; }
.feature-copy { background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,245,239,.98)); padding:44px; display:flex; flex-direction:column; justify-content:center; }
.feature-copy ol { list-style:none; margin:0 0 24px; padding:0; display:grid; gap:12px; }
.feature-copy li { display:grid; grid-template-columns:48px 1fr; gap:12px; align-items:center; }
.feature-copy li span { width:40px; height:40px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; background:rgba(111,142,57,.12); color:var(--moss); font-weight:700; }
.related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.link-card { display:block; padding:22px; background:rgba(255,255,255,.86); border:1px solid var(--line); border-radius:18px; box-shadow:0 10px 30px rgba(18,21,18,.04); }
.link-card span { color:var(--moss); font-size:.78rem; font-weight:700; letter-spacing:.18em; }
.link-card h3 { margin:10px 0 8px; font-size:1.18rem; }
.link-card p { margin:0; color:var(--muted); }
.bottom-cta { background:linear-gradient(180deg,#203427,#18261c); color:#fff; padding:42px 0; }
.bottom-cta>.container { display:flex; justify-content:space-between; align-items:center; gap:24px; }
.bottom-cta p:last-of-type { max-width:54ch; color:rgba(255,255,255,.8); }
@media (max-width:1080px){ .overview-grid,.sub-cards,.related-grid,.editorial-intro,.feature-grid { grid-template-columns:1fr 1fr; } .editorial-intro{grid-template-columns:1fr;} .feature-grid{grid-template-columns:1fr;} }
@media (max-width:860px){ .nav-dropdown { width:100%; } .nav-dropdown summary { width:100%; padding:12px 10px; border-bottom:1px solid rgba(255,255,255,.08);} .dropdown-menu { position:static; transform:none; min-width:0; opacity:1; pointer-events:auto; box-shadow:none; border:0; background:transparent; padding:0 0 8px 12px;} .dropdown-menu a { border-bottom:1px solid rgba(255,255,255,.06);} }
@media (max-width:640px){ .overview-grid,.sub-cards,.related-grid { grid-template-columns:1fr; } .overview-card img { height:200px; } .feature-copy { padding:24px; } .editorial-intro { gap:18px; } }

/* ========================================================
   DESIGN ORIGINAL — HELLER REDAKTIONELLER LOOK
   Umsetzung nach PFLANZENART Designboard, nicht Dark-V2
   ======================================================== */
:root{--bg:#fff;--surface:#fff;--surface-soft:#f7f7f3;--text:#171e1a;--muted:#59625d;--forest:#213828;--line:#e5e8e2;--moss:#709e37;--moss-bright:#91ba48;--container:min(1240px,calc(100% - 56px));}
body{background:#fff;color:#171e1a;font-family:Arial,Helvetica,sans-serif}
.site-header{background:#0c100e;box-shadow:0 2px 9px #0c100e18}
.header-row{min-height:80px}.brand{background:#070a08;border:0;border-radius:0;padding:4px 10px}.brand img{width:154px}
.main-nav{gap:27px}.main-nav a,.nav-dropdown summary{font-size:.88rem}
.button{border-radius:5px;min-height:44px;font-size:.89rem;font-weight:700}
.button-primary{background:#7fa83e;color:#fff;box-shadow:none}.button-primary:hover{background:#698f30}
.eyebrow{color:#6d9735}.section{padding:72px 0}.section-head h2,.editorial-intro h2,.about-copy h2{font-size:clamp(2rem,3.3vw,3rem);letter-spacing:-.04em}
/* Hero mirrors the photographic designboard with bright sections following */
.hero{min-height:680px;background:#1c2821}.hero-home .hero-media{background:linear-gradient(90deg,rgba(8,18,13,.83) 0%,rgba(8,18,13,.45) 44%,rgba(8,18,13,.12) 100%),url('assets/projekt-einkaufszentrum.webp') center 42%/cover no-repeat}
.hero-grid{grid-template-columns:minmax(0,610px) 1fr;align-items:end;padding:105px 0 68px}
.surface-card-hero{background:transparent;backdrop-filter:none;border:0;box-shadow:none;padding:0;color:white}
.hero .eyebrow{color:#b7dd72}.hero h1{font-size:clamp(3.5rem,6.3vw,6rem);line-height:1.02;max-width:18ch;overflow-wrap:break-word;hyphens:auto;color:white}
.hero .lead{color:#f4f5f1;font-size:1.12rem;line-height:1.65;max-width:50ch}
.hero .button-secondary{border-color:#e5efe0a3;background:#ffffff16;color:#fff}
.hero-quote{display:none}
/* Content: crisp white, compact image-led blocks */
.services{background:#fff}.section-head-split{grid-template-columns:1.1fr .7fr;gap:36px}.section-head p:last-child{color:#59625d}
.cards-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.service-card{background:#fff;border:1px solid #e6e9e3;border-radius:5px;box-shadow:0 3px 12px #141e1710;padding:20px 18px 18px;position:relative;min-height:155px}
.service-card h3{font-size:1.02rem;margin-bottom:7px}.service-card p{font-size:.86rem;line-height:1.55;padding-right:8px}
.service-badge{background:#eef5e5;color:#62902d;width:36px;height:28px;min-width:36px;border-radius:3px;margin-bottom:12px}
.tile-arrow{position:absolute;right:16px;top:18px;color:#668c34;font-size:1.05rem;font-weight:700}
.highlight-bar{border-radius:5px;background:#f8faf5;box-shadow:none;padding:22px 26px}
.process-band{background:linear-gradient(90deg,#0d2719eb,#123822e5),url('assets/hero-objekt.png') center/cover;color:#fff;padding:58px 0}
.process-steps article{border-radius:4px}.process-steps span{background:#f4f7ef;color:#27402c}
.split-layout{border-radius:0;box-shadow:none;grid-template-columns:1fr 1fr}.split-copy{background:#f7f7f4;padding:55px;border:0}
.about{background:#fff}.about-facts article{background:#f8f9f7;border-radius:4px}.about-photo-card,.leaf-card{border-radius:0}
.contact-cta{background:#163122}.site-footer{background:#0b100e}.footer-grid{padding-top:48px}
/* Individually illustrated secondary-page heroes */
.subhero{min-height:475px}.subhero::before{background:linear-gradient(90deg,rgba(7,15,11,.83) 0%,rgba(7,15,11,.50) 45%,rgba(7,15,11,.08) 100%),var(--hero-image) center/cover no-repeat}
.subhero-content{padding:88px 0}.subhero h1{max-width:710px;font-size:clamp(2.8rem,5.7vw,5.4rem)}.subhero-content>p:not(.eyebrow){font-size:1.04rem;max-width:590px}
.crumbs{font-size:.83rem;padding-top:17px;color:#737b74}
.sub-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.sub-card{border-radius:5px;background:#fff;box-shadow:0 3px 12px #141e1710}
.sub-feature{padding:25px 0 64px;background:#fff}.feature-grid{border-radius:0;box-shadow:none}.feature-copy{background:#f7f8f5}
.image-editorial{padding:55px 0;background:#f7f8f6}.image-editorial h2{font-size:clamp(2rem,3vw,2.9rem);letter-spacing:-.04em}
.image-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:26px}
.image-tiles:has(figure:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}
.image-tiles figure{margin:0;background:#fff;overflow:hidden;box-shadow:0 4px 20px #14221712}
.image-tiles img{width:100%;height:190px;object-fit:cover}.image-tiles figcaption{padding:12px 14px;font-weight:700;font-size:.96rem}
.related{background:#fff}.link-card{border-radius:5px;box-shadow:none}.overview-card{border-radius:6px}
@media(max-width:1080px){.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.image-tiles,.image-tiles:has(figure:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.main-nav{gap:0}.main-nav a{font-size:1rem}.hero-grid{grid-template-columns:1fr}.hero{min-height:650px}}
@media(max-width:640px){:root{--container:calc(100% - 36px)}.section{padding:55px 0}.cards-grid,.sub-cards,.image-tiles,.image-tiles:has(figure:nth-child(4)){grid-template-columns:1fr}.image-tiles img{height:230px}.hero{min-height:650px}.hero-home .hero-media{background:linear-gradient(90deg,#0b1d15d6,#0b1d155e),url('assets/projekt-einkaufszentrum.webp') 53% center/cover no-repeat}.hero h1{font-size:clamp(3.1rem,13vw,4.5rem)}.hero .lead{font-size:1rem}.hero-grid{padding:85px 0 50px}.hero-actions{gap:10px}.subhero{min-height:490px}.subhero-content{padding:75px 0}.split-copy{padding:28px}}
