:root{
  --green:#74B959;
  --green-soft:#e9f3e3;
  --grey:#706F6F;
  --grey-soft:#eff2ee;
  --ink:#485048;
  --paper:#f7faf5;
  --white:#ffffff;
  --shadow:0 20px 60px rgba(89,104,88,.11);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:linear-gradient(180deg,#f8fbf6 0%,#f5f8f3 100%);
  color:var(--ink);
  font-family:Arial,Helvetica,sans-serif;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
a{color:inherit}
a:focus-visible,button:focus-visible{
  outline:2px solid var(--green);
  outline-offset:3px;
}
.shell{
  width:min(980px,calc(100% - 40px));
  margin:auto;
}
.site-header{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:28px 0 18px;
}
.simple-header{border-bottom:none}
.brand{
  display:block;
  width:min(240px,46vw);
}
.brand img{display:block;width:100%;height:auto}
.header-right{
  display:flex;
  align-items:center;
  gap:20px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.header-tagline{
  margin:0;
  color:var(--grey);
  font-size:14px;
  letter-spacing:.05em;
  text-transform:lowercase;
}
.lang-switch{display:flex;align-items:center;gap:12px}
.lang-switch button{
  border:0;
  background:none;
  padding:6px 0;
  color:var(--grey);
  font:700 13px/1 Arial,Helvetica,sans-serif;
  text-transform:lowercase;
  cursor:pointer;
  border-bottom:2px solid transparent;
}
.lang-switch button.active{color:var(--ink);border-color:var(--green)}
.lang-separator{color:var(--green)}
.onepager{padding:18px 0 34px}
.onepager-card,
.legal-page .hero-legal,
.legal-page .legal-section{
  background:rgba(255,255,255,.88);
  border:1px solid rgba(116,185,89,.18);
  border-radius:34px;
  box-shadow:var(--shadow);
}
.onepager-card{
  padding:44px clamp(22px,4vw,54px) 42px;
}
.eyebrow{
  display:flex;
  align-items:center;
  gap:12px;
  color:var(--grey);
  font-size:12px;
  letter-spacing:.16em;
  text-transform:lowercase;
  font-weight:700;
}
.eyebrow::before{
  content:"";
  width:34px;
  height:2px;
  display:block;
  background:var(--green);
  border-radius:999px;
}
h1,h2,p{margin:0}
h1{
  margin:10px 0 33px;
  font-size:clamp(50px,8vw,92px);
  line-height:.95;
  letter-spacing:-.06em;
  color:#4a5249;
  text-transform:lowercase;
}
.accent{color:var(--green)}
.intro{
  max-width:780px;
  font-size:clamp(21px,2.3vw,27px);
  line-height:1.35;
  letter-spacing:-.03em;
  color:#424a42;
}
.description{
  margin-top:18px;
  max-width:780px;
  color:var(--grey);
  font-size:clamp(18px,1.85vw,21px);
  line-height:1.6;
}
.contact-row{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:18px;
  margin-top:30px;
}
.contact-button{
  display:inline-flex;
  align-items:center;
  gap:12px;
  padding:15px 22px;
  border-radius:999px;
  background:var(--white);
  border:1px solid rgba(116,185,89,.45);
  color:#3d433d;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:lowercase;
  box-shadow:0 12px 26px rgba(112,111,111,.11);
  transition:transform .18s ease,box-shadow .18s ease,background .18s ease;
}
.contact-button:hover{
  transform:translateY(-1px);
  background:#fbfef9;
  box-shadow:0 16px 28px rgba(112,111,111,.14);
}
.contact-button svg{width:20px;height:20px;color:var(--green);flex:none}
.contact-mail{color:var(--grey);font-size:15px;letter-spacing:.02em}
.services-block{
  margin-top:46px;
  padding:0;
}
.services-block h2{
  font-size:14px;
  letter-spacing:.06em;
  text-transform:lowercase;
  color:var(--grey);
  margin-bottom:14px;
}
.services-list{
  max-width:800px;
  color:#576057;
  font-size:clamp(19px,2.0vw,24px);
  line-height:1.8;
  letter-spacing:-.015em;
}
.site-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:22px;
  padding:22px 0 42px;
  font-size:13px;
}
.minimal-footer{border-top:none}
.copyright{color:var(--grey);text-transform:lowercase}
.footer-links{display:flex;flex-wrap:wrap;gap:24px}
.footer-links a{
  text-decoration:none;
  color:#525a52;
  text-transform:lowercase;
}
.footer-links a:hover{
  text-decoration:underline;
  text-decoration-color:var(--green);
}
.legal-page .hero-legal{
  padding:34px 30px;
  margin:38px auto 22px;
}
.legal-page .hero-legal h1{
  margin:18px 0 0;
  font-size:clamp(46px,8vw,80px);
}
.legal-wrap{padding-bottom:76px}
.legal-section{
  padding:28px 30px;
  margin-bottom:18px;
}
.legal-section h2{
  font-size:24px;
  letter-spacing:-.03em;
  margin-bottom:10px;
}
.legal-section p,
.legal-section li{
  color:#4e564e;
  font-size:16px;
  line-height:1.7;
}
.legal-section a{color:#355a2b}
.legal-note{
  background:var(--green-soft);
  border-left:4px solid var(--green);
}
.back-link{
  display:inline-block;
  margin-top:10px;
  color:#4e564e;
  text-decoration:none;
  border-bottom:1px solid var(--green);
  padding-bottom:4px;
  text-transform:lowercase;
}
.de,.en{display:none}
html[lang="de"] .de,
html[lang="en"] .en{display:initial}
@media (max-width: 700px){
  .shell{width:calc(100% - 24px)}
  .site-header{padding:18px 0 14px;align-items:flex-start;flex-direction:column}
  .header-right{width:100%;justify-content:space-between;gap:12px}
  .onepager{padding-top:8px}
  .onepager-card,.legal-page .hero-legal,.legal-section{padding:24px 18px;border-radius:24px}
  h1{font-size:clamp(42px,14vw,64px)}
  .intro{font-size:24px}
  .description{font-size:18px}
  .services-list{font-size:23px;line-height:1.6}
  .single-contact{align-items:flex-start;flex-direction:column}
  .contact-button{width:100%;justify-content:center}
  .site-footer{display:block;padding-bottom:28px}
  .footer-links{margin-top:16px}
}

/* reduzierte einspaltige startseite – keine dekorativen trennlinien */
.simple-header{padding-bottom:26px}
.onepager-card{border:0}
.onepager-card h1{max-width:760px}
.onepager-card .intro,.onepager-card .description{text-transform:none}
.onepager-card .intro strong{color:#445044}
.onepager-card .description strong{font-weight:700;color:#5c645b}
.onepager-card .contact-mail{text-decoration:none}
.onepager-card .contact-mail:hover{text-decoration:underline;text-decoration-color:var(--green)}
.onepager-card .services-list{text-wrap:pretty}
@media(max-width:700px){
  .simple-header{flex-direction:row;align-items:center;gap:14px}
  .simple-header .brand{max-width:182px}
  .onepager-card h1{margin-top:6px;margin-bottom:28px}
  .onepager-card .intro{font-size:22px}
  .onepager-card .description{font-size:18px}
  .onepager-card .services-list{font-size:20px;line-height:1.72}
}

/* blocks behalten bei der sprachumschaltung ihre natürliche anordnung */
html[lang="de"] p.de,
html[lang="en"] p.en,
html[lang="de"] h2.de,
html[lang="en"] h2.en{display:block}

/* v6 – reduzierte typografie, grüne leistungsübersicht ohne trennzeichen am zeilenende */
.onepager-card .intro,
.onepager-card .description{
  text-transform:lowercase;
}
.services-block h2{
  color:var(--green);
  font-weight:700;
  letter-spacing:.08em;
}
.services-list{
  max-width:850px;
  font-weight:500;
  line-height:1.55;
  letter-spacing:-.02em;
  text-wrap:initial;
  padding:0;
}
html[lang="de"] p.services-list.de,
html[lang="en"] p.services-list.en{
  display:flex;
  flex-wrap:wrap;
  row-gap:2px;
  align-items:baseline;
}
.service-item{
  display:inline-flex;
  align-items:baseline;
  white-space:nowrap;
  color:#586258;
  transition:color .18s ease;
  cursor:default;
}
.service-item:hover{
  color:var(--green);
}
.service-item::after{
  content:"·";
  margin:0 11px;
  color:#9aa998;
  font-weight:400;
  pointer-events:none;
}
.service-item.line-end::after,
.service-item:last-child::after{
  visibility:hidden;
}
@media(max-width:700px){
  .service-item::after{margin:0 8px}
}


/* v7 – kontakt untereinander und ausgerichtete leistungsübersicht */
.onepager-card .single-contact{
  flex-direction:column;
  align-items:flex-start;
  gap:11px;
}
.onepager-card .contact-mail{
  margin-left:3px;
}
.onepager-card .services-block{
  margin-top:85px;
}
.onepager-card .services-block h2{
  text-align:center;
  color:var(--green);
  margin-bottom:22px;
}
.onepager-card .services-list{
  max-width:none;
  width:100%;
  text-align:justify;
  text-align-last:left;
}
html[lang="de"] p.services-list.de,
html[lang="en"] p.services-list.en{
  display:block;
}
.services-list .service-item{
  display:inline-block;
  vertical-align:baseline;
  white-space:nowrap;
}
@media(max-width:700px){
  .onepager-card .services-block{margin-top:67px}
  .onepager-card .services-list{text-align:left}
}


/* v8 – reduzierte rechtliche seiten, keine dekorativen linien */
.legal-page .hero-legal{
  border:0;
  box-shadow:none;
  background:transparent;
  padding:4px 0 12px;
  margin:34px auto 12px;
  border-radius:0;
}
.legal-page .hero-legal h1{margin:0;font-size:clamp(44px,7vw,72px)}
.legal-page .legal-section{
  border:0;
  box-shadow:none;
  background:#fff;
  margin-bottom:12px;
  border-radius:20px;
}
.legal-page .legal-note{background:var(--green-soft);border:0;}
.legal-page .translation-note{
  font-size:14px;
  line-height:1.6;
  color:var(--grey);
  max-width:620px;
  margin-top:18px;
}
html[lang="en"] .translation-note.en{display:block}
.legal-page .back-link,.legal-page .eyebrow{display:none}
@media(max-width:700px){
  .legal-page .hero-legal{padding:0;margin:24px auto 12px}
  .legal-page .legal-section{border-radius:17px}
}

/* v9 – kompakte, vollbreite Leistungsübersicht und näherer Kontakt */
.onepager-card .contact-row{margin-top:16px}
.onepager-card .services-list{max-width:none; width:100%; text-align:initial; text-align-last:auto;}
html[lang="de"] p.services-list.de,
html[lang="en"] p.services-list.en{
  display:flex;
  flex-wrap:wrap;
  justify-content:space-between;
  column-gap:12px;
  row-gap:5px;
  align-items:baseline;
}
.services-list .service-item{
  display:inline-flex;
  align-items:baseline;
  flex-shrink:0;
  white-space:nowrap;
}
@media(max-width:700px){
  .onepager-card .contact-row{margin-top:15px}
  html[lang="de"] p.services-list.de,
  html[lang="en"] p.services-list.en{column-gap:10px;row-gap:3px;}
}

/* Gleichmäßig gefüllte Zeilen statt einer einzelnen Restzeile */
html[lang="de"] p.services-list.de,
html[lang="en"] p.services-list.en{
  display:flex;
  flex-direction:column;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:4px;
}
.services-line{
  width:100%;
  display:flex;
  justify-content:space-between;
  align-items:baseline;
  white-space:nowrap;
  min-width:0;
  gap:9px;
}
.services-line .service-item::after{
  content:"·";
  margin:0 0 0 11px;
  color:#9aa998;
  font-weight:400;
  display:inline;
}
.services-line .service-item:last-child::after{display:none}
.services-list .service-item:hover{color:var(--green)}
.services-measure{
  position:absolute;
  visibility:hidden;
  height:auto;
  width:max-content;
  white-space:nowrap;
  pointer-events:none;
  overflow:hidden;
}
.services-measure .service-item::after{display:none}
@media(max-width:700px){
  .services-line{gap:5px}
  .services-line .service-item::after{margin-left:7px}
}
@media(max-width:700px){
  .onepager-card .services-list{font-size:clamp(18px,4.8vw,20px)}
  .services-line{justify-content:flex-start;gap:5px}
}


/* v10 – feine grüne kontur statt dekorativer trennlinien */
.onepager-card{
  border:1px solid rgba(116,185,89,.38);
}
.legal-page .legal-section{
  border:1px solid rgba(116,185,89,.28);
}
.legal-page .legal-note{
  border:1px solid rgba(116,185,89,.34);
}
/* headlines deliberately have no trailing punctuation */
/* legal bilingual sections must remain true block-level content */
html[lang="de"] .legal-section > div.de,
html[lang="en"] .legal-section > div.en{display:block}
