:root{--bg:#53292f;--panel:#5f333a;--ink:#a2979e;--muted:#a2979e;--line:rgba(162,151,158,.28);--accent:#a2979e;--accent-2:#3f1f24;--light:#d8cfd4;--shadow:0 22px 60px rgba(0,0,0,.22);font-family:'Merriweather',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{color:#a2979e;font-family:'Merriweather',Georgia,serif;font-size:12px;line-height:1.5em;background-color:#53292f;margin:0;padding:0}a{color:#cbbac2;text-decoration:none}a:hover{color:#fff}img{max-width:100%}.theme-original{--bg:#53292f;--panel:#5f333a;--ink:#a2979e;--muted:#a2979e;--line:rgba(162,151,158,.28);--accent:#a2979e;--accent-2:#3f1f24;--soft:#4a252b;--shadow:0 22px 60px rgba(0,0,0,.22)}.site-header{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 5vw;background:#3f1f24;border-bottom:1px solid var(--line)}.brand{display:flex;gap:14px;align-items:center;min-width:280px;color:#d8cfd4}.brand small,.mobile-top small{display:block;color:#a2979e;margin-top:2px}.brand-mark{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;background:#a2979e;color:#53292f;font-weight:700;letter-spacing:.05em;flex:0 0 auto}.desktop-nav{display:flex;gap:18px;font-size:12px;color:#a2979e}.desktop-nav a:hover{color:#fff}.header-cta,.button.primary{background:#a2979e;color:#53292f;padding:12px 18px;border-radius:999px;font-weight:700}main{width:min(1180px,90vw);margin:0 auto}.section-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:58px;align-items:center}.hero{padding:92px 0 58px}.eyebrow{color:#d8cfd4;letter-spacing:.03em;font-size:12px;font-weight:700}h1,h2,h3{color:#d8cfd4;font-weight:400}h1{font-size:clamp(42px,6vw,74px);line-height:1.02;margin:0 0 26px}h2{font-size:clamp(26px,3.2vw,44px);line-height:1.15;margin:0 0 22px}h3{font-size:24px;margin:0 0 14px}p{margin-top:0}.lead{font-size:16px;line-height:1.65em;color:#a2979e;max-width:720px}.hero-actions{display:flex;gap:14px;margin-top:34px}.button.secondary{border:1px solid var(--line);padding:12px 18px;border-radius:999px;background:#5f333a;color:#cbbac2;font-weight:700}.hero-card,.contact-card,.version-card{background:#5f333a;border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow)}.portrait-image{width:100%;height:260px;object-fit:cover;object-position:center top;display:block;border-radius:8px;margin-bottom:26px;border:1px solid var(--line)}dl{display:grid;gap:16px;margin:24px 0 0}dt{color:#d8cfd4;font-size:11px;text-transform:uppercase;font-weight:700;letter-spacing:.1em}dd{margin:5px 0 0}.offer-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:0 0 72px}.offer-strip a{background:#3f1f24;color:#cbbac2;border-radius:12px;padding:18px;text-align:center;font-weight:700}.content-section{padding:82px 0;border-top:1px solid var(--line)}.copy-block{font-size:14px;line-height:1.75em;color:#a2979e}.muted{background:#4a252b;margin-inline:calc(50% - 50vw);padding-inline:calc(50vw - 50%)}.topic-grid{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.topic-grid span{padding:12px 15px;border-radius:999px;background:#5f333a;border:1px solid var(--line);color:#cbbac2}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:82px 0}.service-card{min-height:230px;padding:30px;border-radius:18px;background:#5f333a;border:1px solid var(--line)}.service-card p{color:#a2979e;line-height:1.65em}.service-card.featured{background:#3f1f24;color:#d8cfd4}.service-card.featured p{color:#cbbac2}.contact-section{display:grid;grid-template-columns:1fr 420px;gap:42px;align-items:start;padding:82px 0;border-top:1px solid var(--line)}.site-footer{padding:34px 5vw;display:flex;justify-content:space-between;border-top:1px solid var(--line);color:#a2979e;background:#3f1f24}.mobile-top{position:sticky;top:0;z-index:3;display:flex;gap:12px;align-items:center;padding:14px 18px;background:#3f1f24;border-bottom:1px solid var(--line)}.mobile-site main{width:min(100% - 28px,560px)}.mobile-hero{padding:38px 0 26px}.mobile-hero h1{font-size:38px}.mobile-hero p:not(.eyebrow){color:#a2979e;font-size:14px;line-height:1.65em}.mobile-portrait{width:100%;max-height:360px;object-fit:cover;object-position:center top;display:block;border-radius:8px;margin:22px 0 4px;box-shadow:var(--shadow);border:1px solid var(--line)}.sticky-actions{position:sticky;top:76px;z-index:2;display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:24px}.sticky-actions a{text-align:center;padding:14px;border-radius:12px;background:#a2979e;color:#53292f;font-weight:700}.mobile-section{padding:28px 0;border-top:1px solid var(--line)}.mobile-section h2{font-size:28px}.mobile-list{display:grid;gap:10px}details{background:#5f333a;border:1px solid var(--line);border-radius:14px;padding:16px}summary{font-weight:700;cursor:pointer;color:#d8cfd4}details p,.mobile-card p,.contact-mobile p{color:#a2979e;line-height:1.62em}.mobile-card{background:#5f333a;margin:20px 0;padding:22px;border:1px solid var(--line);border-radius:16px}@media(max-width:980px){.desktop-nav{display:none}.section-grid,.contact-section{grid-template-columns:1fr}.cards{grid-template-columns:1fr 1fr}.offer-strip{grid-template-columns:1fr 1fr}}@media(max-width:760px){body{font-size:14px}.desktop-site main{width:min(100% - 28px,560px)}.site-header{display:none}.hero{padding-top:40px}.cards,.offer-strip{grid-template-columns:1fr}.hero-actions{flex-direction:column}.site-footer{display:block;line-height:1.8em}}


/* Desktop navigation update */
#leistungen {
  scroll-margin-top: 80px;
}

.top-nav {
  text-align: center;
}

.top-nav a {
  display: inline-block;
}


/* Restored original-style menu with a single entry */
.restored-menu,
.main-menu.site-nav {
  background-color: transparent;
  text-align: right;
  padding: 18px 28px;
}

.restored-menu ul,
.main-menu.site-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.restored-menu li,
.main-menu.site-nav li {
  display: inline-block;
  margin: 0;
  padding: 0;
}

.restored-menu a,
.main-menu.site-nav a {
  color: #a2979e;
  font-family: 'Merriweather', serif;
  font-size: 12px;
  line-height: 1.5em;
  letter-spacing: 0.03em;
  text-decoration: none;
  padding: 8px 14px;
}

.restored-menu a:hover,
.main-menu.site-nav a:hover {
  color: #d8cfd4;
}

.address-note {
  margin-top: 1.2em;
  padding: 0.9em 1em;
  border-left: 3px solid #a2979e;
  background: rgba(255,255,255,0.04);
  color: #c4b9bf;
  font-family: 'Merriweather', serif;
  font-size: 12px;
  line-height: 1.6em;
}

@media (max-width: 768px) {
  .restored-menu,
  .main-menu.site-nav {
    text-align: center;
    padding: 14px 16px;
  }

  .restored-menu li,
  .main-menu.site-nav li {
    display: block;
  }
}


/* Desktop viewport-fitting chapter layout */
@media (min-width: 900px) {
  html {
    scroll-behavior: smooth;
  }

  body.desktop-fit-layout {
    overflow-y: auto;
  }

  body.desktop-fit-layout .container {
    max-width: min(1120px, 92vw);
    padding: clamp(10px, 1.6vh, 22px) clamp(18px, 3vw, 42px);
  }

  body.desktop-fit-layout .fit-chapter {
    min-height: calc(100vh - 92px);
    display: flex;
    flex-direction: column;
    justify-content: center;
    box-sizing: border-box;
    padding-top: clamp(12px, 2vh, 34px);
    padding-bottom: clamp(12px, 2vh, 34px);
    scroll-margin-top: 80px;
  }

  body.desktop-fit-layout .hero {
    padding-top: clamp(12px, 2vh, 26px);
    padding-bottom: clamp(12px, 2vh, 26px);
  }

  body.desktop-fit-layout h1 {
    font-size: clamp(20px, 2.4vw, 36px);
    line-height: 1.18;
    margin: 0 0 clamp(8px, 1.3vh, 18px);
  }

  body.desktop-fit-layout h2 {
    font-size: clamp(16px, 1.55vw, 24px);
    line-height: 1.25;
    margin: 0 0 clamp(8px, 1.2vh, 16px);
  }

  body.desktop-fit-layout h3 {
    font-size: clamp(13px, 1.1vw, 18px);
    line-height: 1.25;
    margin: 0 0 clamp(5px, 0.8vh, 10px);
  }

  body.desktop-fit-layout p,
  body.desktop-fit-layout li {
    font-size: clamp(11px, 0.82vw, 13px);
    line-height: clamp(1.38em, 1.55em, 1.65em);
    margin-top: 0;
    margin-bottom: clamp(5px, 0.8vh, 11px);
  }

  body.desktop-fit-layout .hero-img,
  body.desktop-fit-layout img {
    max-height: clamp(180px, 34vh, 360px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
  }

  body.desktop-fit-layout .tiles,
  body.desktop-fit-layout .cards,
  body.desktop-fit-layout .services,
  body.desktop-fit-layout .angebote,
  body.desktop-fit-layout .leistungen {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: clamp(8px, 1.2vw, 18px);
    align-items: stretch;
  }

  body.desktop-fit-layout .tile,
  body.desktop-fit-layout .card,
  body.desktop-fit-layout .service,
  body.desktop-fit-layout .angebot {
    padding: clamp(10px, 1.3vw, 18px);
    min-height: 0;
  }

  body.desktop-fit-layout footer {
    padding-top: clamp(8px, 1.2vh, 16px);
    padding-bottom: clamp(8px, 1.2vh, 16px);
  }
}

/* Extra compression for smaller desktop/laptop heights */
@media (min-width: 900px) and (max-height: 760px) {
  body.desktop-fit-layout.compact-height .fit-chapter {
    min-height: calc(100vh - 70px);
    padding-top: 10px;
    padding-bottom: 10px;
  }

  body.desktop-fit-layout.compact-height .container {
    padding-top: 8px;
    padding-bottom: 8px;
  }

  body.desktop-fit-layout.compact-height p,
  body.desktop-fit-layout.compact-height li {
    line-height: 1.42em;
    margin-bottom: 6px;
  }

  body.desktop-fit-layout.compact-height .hero-img,
  body.desktop-fit-layout.compact-height img {
    max-height: 28vh;
  }
}

@media (min-width: 900px) and (max-height: 640px) {
  body.desktop-fit-layout.very-compact-height .fit-chapter {
    min-height: auto;
    padding-top: 8px;
    padding-bottom: 8px;
  }

  body.desktop-fit-layout.very-compact-height h1 {
    font-size: 20px;
  }

  body.desktop-fit-layout.very-compact-height h2 {
    font-size: 16px;
  }

  body.desktop-fit-layout.very-compact-height p,
  body.desktop-fit-layout.very-compact-height li {
    font-size: 11px;
    line-height: 1.35em;
  }

  body.desktop-fit-layout.very-compact-height .hero-img,
  body.desktop-fit-layout.very-compact-height img {
    max-height: 22vh;
  }
}


/* PROMINENT ADDRESS NOTICE */
.address-note {
  margin: 30px 0;
  padding: 20px;
  border-left: 6px solid #e6c9d2;
  background-color: #6b3a41;
  color: #ffffff;
  font-size: 14px;
  line-height: 1.7em;
  font-weight: 500;
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
}

.address-note strong {
  display: block;
  font-size: 16px;
  margin-bottom: 8px;
}


/* Smooth scroll + active state for Leistungen */
html {
  scroll-behavior: smooth;
}

#leistungen {
  scroll-margin-top: 90px;
  transition: background-color 250ms ease, box-shadow 250ms ease, outline-color 250ms ease;
}

.nav-leistungen {
  transition: color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.nav-leistungen.is-active,
.nav-leistungen:hover {
  color: #ffffff !important;
  background-color: rgba(255,255,255,0.08);
  box-shadow: inset 0 -2px 0 #e6c9d2;
}

#leistungen.section-highlight {
  background-color: rgba(255,255,255,0.035);
  box-shadow: 0 0 0 1px rgba(230,201,210,0.25);
  border-radius: 10px;
}


/* === VERY PROMINENT ADDRESS NOTICE === */
.address-note,
.address-notice {
  display: block !important;
  width: min(920px, calc(100% - 40px)) !important;
  box-sizing: border-box !important;
  margin: 32px auto !important;
  padding: 22px 26px !important;
  background: #7a4049 !important;
  color: #ffffff !important;
  border: 2px solid #e6c9d2 !important;
  border-left: 10px solid #e6c9d2 !important;
  border-radius: 10px !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.35) !important;
  font-family: 'Merriweather', serif !important;
  font-size: 15px !important;
  line-height: 1.75em !important;
  text-align: left !important;
}

.address-note strong,
.address-notice__label {
  display: block !important;
  color: #ffffff !important;
  font-size: 18px !important;
  line-height: 1.35em !important;
  margin-bottom: 8px !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em !important;
}

.address-notice__text {
  color: #ffffff !important;
  font-size: 15px !important;
  line-height: 1.75em !important;
}

@media (max-width: 768px) {
  .address-note,
  .address-notice {
    width: calc(100% - 28px) !important;
    margin: 24px auto !important;
    padding: 18px 20px !important;
    font-size: 14px !important;
  }

  .address-note strong,
  .address-notice__label {
    font-size: 16px !important;
  }
}


/* === STRICT DESKTOP CHAPTER SEPARATION / SCROLL SNAP === */
@media (min-width: 900px) {
  html {
    height: 100%;
    scroll-behavior: smooth;
    scroll-snap-type: y mandatory;
    overflow-y: scroll;
  }

  body.desktop-snap-page {
    min-height: 100%;
    overflow-x: hidden;
  }

  body.desktop-snap-page nav,
  body.desktop-snap-page .restored-menu,
  body.desktop-snap-page .main-menu,
  body.desktop-snap-page .site-nav {
    position: sticky;
    top: 0;
    z-index: 1000;
  }

  body.desktop-snap-page .chapter-slide {
    min-height: calc(100vh - 74px) !important;
    height: calc(100vh - 74px) !important;
    max-height: calc(100vh - 74px) !important;
    box-sizing: border-box !important;
    scroll-snap-align: start;
    scroll-snap-stop: always;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding-top: clamp(18px, 3vh, 42px) !important;
    padding-bottom: clamp(18px, 3vh, 42px) !important;
  }

  body.desktop-snap-page .chapter-slide > * {
    max-width: 100%;
  }

  body.desktop-snap-page .chapter-slide h1,
  body.desktop-snap-page .chapter-slide h2,
  body.desktop-snap-page .chapter-slide h3 {
    flex-shrink: 0;
  }

  body.desktop-snap-page .chapter-slide p,
  body.desktop-snap-page .chapter-slide li {
    font-size: clamp(11px, 0.8vw, 13px) !important;
    line-height: 1.45em !important;
  }

  body.desktop-snap-page .chapter-slide img,
  body.desktop-snap-page .hero-img {
    max-height: 30vh !important;
    object-fit: contain !important;
  }

  body.desktop-snap-page footer {
    scroll-snap-align: end;
  }
}

/* On very small laptop heights, keep chapters separate but allow inner content to scroll inside the chapter if needed */
@media (min-width: 900px) and (max-height: 700px) {
  body.desktop-snap-page .chapter-slide {
    overflow-y: auto !important;
    justify-content: flex-start !important;
  }

  body.desktop-snap-page .chapter-slide img,
  body.desktop-snap-page .hero-img {
    max-height: 22vh !important;
  }
}


/* === RESTORE ORIGINAL FULL CHAPTER MENU === */
@media (min-width: 900px) {
  html {
    scroll-snap-type: none !important;
    overflow-y: auto !important;
  }

  body {
    overflow-y: auto !important;
  }

  .original-chapter-menu,
  .main-menu.site-nav.original-chapter-menu {
    position: static !important;
    top: auto !important;
    z-index: auto !important;
    background: transparent !important;
    text-align: right !important;
    padding: 18px 28px !important;
  }

  .original-chapter-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .original-chapter-menu li {
    display: inline-block !important;
    margin: 0 0 0 18px !important;
    padding: 0 !important;
  }

  .original-chapter-menu a {
    color: #a2979e !important;
    font-family: 'Merriweather', serif !important;
    font-size: 12px !important;
    line-height: 1.5em !important;
    letter-spacing: 0.03em !important;
    text-decoration: none !important;
    padding: 4px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .original-chapter-menu a:hover {
    color: #ffffff !important;
  }

  section,
  .chapter-slide,
  .fit-chapter {
    height: auto !important;
    max-height: none !important;
    min-height: initial !important;
    overflow: visible !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    display: block !important;
    padding-top: initial;
    padding-bottom: initial;
  }
}

@media (max-width: 899px) {
  .original-chapter-menu {
    text-align: center !important;
  }

  .original-chapter-menu li {
    display: block !important;
    margin: 8px 0 !important;
  }
}


/* === FINAL DESKTOP LAYOUT: FIXED LEFT MENU, NORMAL CONTENT FLOW === */
@media (min-width: 900px) {
  html,
  body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    scroll-snap-type: none !important;
    scroll-behavior: smooth;
  }

  body {
    padding-left: 210px !important;
    box-sizing: border-box !important;
  }

  .left-sidebar-menu {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 180px !important;
    height: 100vh !important;
    z-index: 1000 !important;
    box-sizing: border-box !important;
    padding: 34px 22px !important;
    background: #3f1f24 !important;
    text-align: left !important;
    overflow-y: auto !important;
  }

  .left-sidebar-menu ul {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .left-sidebar-menu li {
    display: block !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
  }

  .left-sidebar-menu a {
    display: block !important;
    color: #a2979e !important;
    font-family: 'Merriweather', serif !important;
    font-size: 12px !important;
    line-height: 1.5em !important;
    letter-spacing: 0.03em !important;
    text-decoration: none !important;
    padding: 6px 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
  }

  .left-sidebar-menu a:hover {
    color: #ffffff !important;
  }

  /* Kill all previous forced chapter/page behavior */
  section,
  .chapter-slide,
  .fit-chapter,
  .hero,
  .container > section {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    justify-content: initial !important;
    padding-top: initial;
    padding-bottom: initial;
  }

  .container {
    max-width: 980px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 34px !important;
    padding-right: 34px !important;
  }

  section[id] {
    scroll-margin-top: 30px !important;
  }
}

/* Mobile/tablet keeps normal top menu behavior */
@media (max-width: 899px) {
  body {
    padding-left: 0 !important;
  }

  .left-sidebar-menu {
    position: static !important;
    width: auto !important;
    height: auto !important;
    padding: 14px 16px !important;
    background: #3f1f24 !important;
    text-align: center !important;
  }

  .left-sidebar-menu li {
    display: block !important;
    margin: 8px 0 !important;
  }
}


/* === FINAL STABLE DESKTOP LAYOUT: LEFT MENU + RIGHT IMAGE TILE + NORMAL CONTENT === */
@media (min-width: 900px) {
  html,
  body {
    height: auto !important;
    min-height: 100% !important;
    overflow-y: auto !important;
    scroll-snap-type: none !important;
  }

  body {
    padding-left: 210px !important;
    padding-right: 300px !important;
    box-sizing: border-box !important;
  }

  .left-sidebar-menu {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 180px !important;
    height: 100vh !important;
    z-index: 1000 !important;
    box-sizing: border-box !important;
    padding: 34px 22px !important;
    background: #3f1f24 !important;
    text-align: left !important;
    overflow-y: auto !important;
  }

  .right-image-tile {
    position: fixed !important;
    right: 34px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 230px !important;
    max-height: calc(100vh - 70px) !important;
    z-index: 900 !important;
    box-sizing: border-box !important;
    padding: 12px !important;
    background: rgba(63,31,36,0.72) !important;
    border: 1px solid rgba(226,201,210,0.28) !important;
    border-radius: 12px !important;
    box-shadow: 0 12px 32px rgba(0,0,0,0.28) !important;
  }

  .right-image-tile img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 100px) !important;
    object-fit: contain !important;
    border-radius: 8px !important;
  }

  .container {
    max-width: 820px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 34px 34px 70px 34px !important;
  }

  /* Completely disable previous chapter separation attempts */
  section,
  .container > section,
  .hero,
  .chapter-slide,
  .fit-chapter {
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    display: block !important;
    scroll-snap-align: none !important;
    scroll-snap-stop: normal !important;
    justify-content: initial !important;
  }

  /* Restore readable spacing between chapters */
  section,
  .container > section {
    margin: 0 0 72px 0 !important;
    padding: 0 0 42px 0 !important;
    border-bottom: 1px solid rgba(162,151,158,0.22) !important;
  }

  section:last-of-type {
    border-bottom: none !important;
  }

  .hero {
    text-align: left !important;
    padding-top: 0 !important;
  }

  .hero img,
  .hero-img {
    display: none !important;
  }

  section[id] {
    scroll-margin-top: 28px !important;
  }
}

/* Medium desktop: make side elements smaller */
@media (min-width: 900px) and (max-width: 1180px) {
  body {
    padding-right: 240px !important;
  }

  .right-image-tile {
    right: 20px !important;
    width: 190px !important;
  }

  .container {
    max-width: 720px !important;
  }
}

/* Mobile/tablet: image returns to normal flow above content */
@media (max-width: 899px) {
  body {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  .right-image-tile {
    position: static !important;
    transform: none !important;
    width: calc(100% - 32px) !important;
    max-width: 420px !important;
    margin: 22px auto !important;
    padding: 10px !important;
    background: rgba(63,31,36,0.72) !important;
    border-radius: 12px !important;
  }

  .right-image-tile img {
    width: 100% !important;
    height: auto !important;
    border-radius: 8px !important;
  }
}


/* === RIGHT SIDE PICTURE TILE: FULL TILE/CARD MOVED RIGHT === */
@media (min-width: 900px) {
  body {
    padding-right: 330px !important;
  }

  .right-image-tile {
    display: none !important;
  }

  .right-side-picture-tile {
    position: fixed !important;
    right: 34px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 260px !important;
    max-height: calc(100vh - 68px) !important;
    z-index: 950 !important;
    box-sizing: border-box !important;
    padding: 18px !important;
    background: #3f1f24 !important;
    border: 1px solid rgba(226,201,210,0.32) !important;
    border-radius: 14px !important;
    box-shadow: 0 14px 34px rgba(0,0,0,0.34) !important;
  }

  .right-side-picture-tile .picture-tile-inner {
    width: 100% !important;
    box-sizing: border-box !important;
    padding: 0 !important;
  }

  .right-side-picture-tile img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-height: calc(100vh - 112px) !important;
    object-fit: contain !important;
    border-radius: 9px !important;
  }

  .hero img,
  .hero-img {
    display: none !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  body {
    padding-right: 270px !important;
  }

  .right-side-picture-tile {
    right: 20px !important;
    width: 215px !important;
    padding: 14px !important;
  }
}

@media (max-width: 899px) {
  .right-side-picture-tile {
    position: static !important;
    transform: none !important;
    width: calc(100% - 32px) !important;
    max-width: 420px !important;
    margin: 22px auto !important;
    padding: 14px !important;
    background: #3f1f24 !important;
    border: 1px solid rgba(226,201,210,0.32) !important;
    border-radius: 14px !important;
    box-shadow: 0 8px 22px rgba(0,0,0,0.25) !important;
  }

  .right-side-picture-tile img {
    width: 100% !important;
    height: auto !important;
    border-radius: 9px !important;
  }
}


/* === CURRENT DESKTOP OPTIMIZATION: FIXED LEFT MENU, FIXED START TILE, SINGLE CHAPTER VIEW === */
@media (min-width: 900px) {
  .desktop-site {
    min-height: 100vh !important;
    padding-left: 220px !important;
    padding-right: 340px !important;
    overflow: hidden !important;
  }

  .desktop-site .site-header {
    position: static !important;
    display: block !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
  }

  .desktop-site .brand {
    position: fixed !important;
    left: 22px !important;
    bottom: 28px !important;
    z-index: 1001 !important;
    min-width: 0 !important;
    width: 150px !important;
    align-items: flex-start !important;
    gap: 10px !important;
  }

  .desktop-site .brand-mark {
    width: 38px !important;
    height: 38px !important;
  }

  .desktop-site .brand strong,
  .desktop-site .brand small {
    font-size: 11px !important;
    line-height: 1.35em !important;
  }

  .desktop-site .left-sidebar-menu {
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    width: 190px !important;
    height: 100vh !important;
    padding: 34px 22px 128px !important;
    background: #3f1f24 !important;
    border-right: 1px solid var(--line) !important;
  }

  .desktop-site .left-sidebar-menu li {
    margin-bottom: 10px !important;
  }

  .desktop-site .left-sidebar-menu a {
    border-radius: 8px !important;
    padding: 9px 10px !important;
    color: #cbbac2 !important;
  }

  .desktop-site .left-sidebar-menu a:hover,
  .desktop-site .left-sidebar-menu a.is-active {
    color: #ffffff !important;
    background: rgba(255,255,255,0.08) !important;
  }

  .desktop-site .right-side-picture-tile {
    display: none !important;
  }

  .desktop-site .start-page-tile {
    position: fixed !important;
    right: 34px !important;
    top: 34px !important;
    bottom: 34px !important;
    width: 270px !important;
    z-index: 950 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    padding: 22px !important;
    overflow-y: auto !important;
    background: #3f1f24 !important;
    border-radius: 12px !important;
  }

  .desktop-site .start-page-tile .portrait-image {
    width: 100% !important;
    height: min(34vh, 280px) !important;
    margin: 0 0 20px !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  .desktop-site .start-page-tile h2,
  .desktop-site .chapter-panel.is-active h2,
  .desktop-site .chapter-panel.is-active h3 {
    font-size: 24px !important;
    line-height: 1.2em !important;
    margin-bottom: 14px !important;
  }

  .desktop-site .start-page-tile p,
  .desktop-site .start-page-tile dd,
  .desktop-site .chapter-panel.is-active p,
  .desktop-site .chapter-panel.is-active .lead,
  .desktop-site .chapter-panel.is-active li {
    font-size: 12px !important;
    line-height: 1.65em !important;
  }

  .desktop-site main {
    width: min(780px, calc(100vw - 600px)) !important;
    min-height: 100vh !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center !important;
  }

  .desktop-site .offer-strip {
    display: none !important;
  }

  .desktop-site #leistungen {
    display: contents !important;
  }

  .desktop-site .chapter-panel {
    display: none !important;
  }

  .desktop-site .chapter-panel.is-active {
    display: block !important;
    width: 100% !important;
    max-height: calc(100vh - 80px) !important;
    overflow-y: auto !important;
    margin: 0 !important;
    padding: 38px !important;
    background: rgba(95,51,58,0.56) !important;
    border: 1px solid var(--line) !important;
    border-radius: 12px !important;
    box-shadow: var(--shadow) !important;
  }

  .desktop-site .chapter-panel.is-active.section-grid,
  .desktop-site .chapter-panel.is-active.contact-section {
    display: block !important;
  }

  .desktop-site .muted {
    margin-inline: 0 !important;
    padding-inline: 38px !important;
  }

  .desktop-site .service-card.chapter-panel.is-active,
  .desktop-site .service-card.featured.chapter-panel.is-active {
    min-height: 0 !important;
    color: #a2979e !important;
  }

  .desktop-site .contact-card {
    margin-top: 24px !important;
  }

  .desktop-site .address-notice {
    width: 100% !important;
    margin: 24px 0 0 !important;
  }

  .desktop-site .site-footer {
    display: none !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  .desktop-site {
    padding-left: 198px !important;
    padding-right: 282px !important;
  }

  .desktop-site .left-sidebar-menu {
    width: 172px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .desktop-site .brand {
    left: 16px !important;
    width: 140px !important;
  }

  .desktop-site .start-page-tile {
    right: 20px !important;
    width: 232px !important;
  }

  .desktop-site main {
    width: min(680px, calc(100vw - 510px)) !important;
  }
}

@media (max-width: 899px) {
  .desktop-site .chapter-panel {
    display: block !important;
  }

  .desktop-site .start-page-tile {
    margin: 24px 0 !important;
  }
}

/* Chapters follow the start-page reading scale, not the small fixed tile. */
@media (min-width: 900px) {
  .desktop-site .chapter-panel.is-active h2,
  .desktop-site .chapter-panel.is-active h3 {
    font-size: clamp(26px, 3.2vw, 44px) !important;
    line-height: 1.15 !important;
    margin: 0 0 22px !important;
  }

  .desktop-site .chapter-panel.is-active p,
  .desktop-site .chapter-panel.is-active .lead,
  .desktop-site .chapter-panel.is-active li {
    font-size: 16px !important;
    line-height: 1.65em !important;
  }

  .desktop-site .chapter-panel.is-active .eyebrow {
    font-size: 12px !important;
  }

  .desktop-site .eyebrow-name {
    display: inline-block !important;
    margin-left: 10px !important;
    color: inherit !important;
    font-size: inherit !important;
    font-weight: inherit !important;
    letter-spacing: inherit !important;
   }

  .desktop-site #themen.chapter-panel.is-active .topic-grid {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 14px !important;
    margin-top: 30px !important;
  }

  .desktop-site #themen.chapter-panel.is-active .topic-grid span {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 58px !important;
    padding: 14px 16px !important;
    border-radius: 12px !important;
    text-align: center !important;
    line-height: 1.35em !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  .desktop-site #themen.chapter-panel.is-active .topic-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 899px) {
  .mobile-portrait {
    margin-bottom: 24px !important;
  }
}

/* Final address remark: stronger visual emphasis. */
.address-notice {
  background: #8f4b55 !important;
  border: 3px solid #f1d7df !important;
  border-left: 12px solid #f1d7df !important;
  box-shadow: 0 14px 34px rgba(0,0,0,0.48) !important;
}

.address-notice__label {
  font-size: 20px !important;
  text-transform: uppercase !important;
}

.address-notice__text {
  font-size: 16px !important;
  font-weight: 700 !important;
}

@media (max-width: 899px) {
  .address-notice {
    width: calc(100% - 24px) !important;
    margin: 36px auto !important;
    padding: 22px 20px !important;
    background: #9b4e59 !important;
    border: 3px solid #ffffff !important;
    border-left: 14px solid #ffffff !important;
    border-radius: 8px !important;
    box-shadow: 0 16px 34px rgba(0,0,0,0.55) !important;
  }

  .address-notice__label {
    font-size: 18px !important;
    line-height: 1.3em !important;
    text-transform: uppercase !important;
  }

  .address-notice__text {
    font-size: 16px !important;
    line-height: 1.6em !important;
    font-weight: 700 !important;
  }
}


/* === RESPONSIVE DESKTOP CHAPTER SYSTEM === */
@media (min-width: 900px) {
  .desktop-site {
    --chapter-pad: clamp(22px, 3vw, 46px);
    --chapter-heading: clamp(26px, calc(1.35vw + 1.1vh), 44px);
    --chapter-text: clamp(13px, calc(0.58vw + 0.48vh), 17px);
    --chapter-small: clamp(11px, calc(0.34vw + 0.38vh), 13px);
    --chapter-line: 1.62em;
    --chapter-gap: clamp(10px, 1.35vw, 18px);
  }

  .desktop-site main {
    width: min(820px, calc(100vw - 600px)) !important;
    height: 100vh !important;
    min-height: 520px !important;
    align-items: center !important;
  }

  .desktop-site .chapter-panel.is-active {
    padding: var(--chapter-pad) !important;
    max-height: calc(100vh - clamp(48px, 8vh, 96px)) !important;
    border-radius: clamp(10px, 1vw, 14px) !important;
  }

  .desktop-site .chapter-panel.is-active h2,
  .desktop-site .chapter-panel.is-active h3 {
    font-size: var(--chapter-heading) !important;
    line-height: 1.15 !important;
    margin: 0 0 clamp(14px, 2vh, 24px) !important;
  }

  .desktop-site .chapter-panel.is-active p,
  .desktop-site .chapter-panel.is-active .lead,
  .desktop-site .chapter-panel.is-active .copy-block,
  .desktop-site .chapter-panel.is-active li,
  .desktop-site .chapter-panel.is-active dd {
    font-size: var(--chapter-text) !important;
    line-height: var(--chapter-line) !important;
  }

  .desktop-site .chapter-panel.is-active p {
    margin-bottom: clamp(10px, 1.4vh, 16px) !important;
  }

  .desktop-site .chapter-panel.is-active .eyebrow,
  .desktop-site .chapter-panel.is-active dt {
    font-size: var(--chapter-small) !important;
  }

  .desktop-site .chapter-panel.is-active .contact-card {
    padding: var(--chapter-pad) !important;
  }

  .desktop-site #themen.chapter-panel.is-active .topic-grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(clamp(150px, 18vw, 220px), 1fr)) !important;
    gap: var(--chapter-gap) !important;
    margin-top: clamp(20px, 3vh, 34px) !important;
  }

  .desktop-site #themen.chapter-panel.is-active .topic-grid span {
    min-height: clamp(46px, 7vh, 68px) !important;
    padding: clamp(10px, 1.4vw, 16px) !important;
    font-size: clamp(12px, calc(0.44vw + 0.42vh), 15px) !important;
    line-height: 1.35em !important;
  }

  .desktop-site .start-page-tile {
    width: clamp(220px, 19vw, 290px) !important;
    padding: clamp(16px, 1.7vw, 24px) !important;
  }

  .desktop-site .start-page-tile h2 {
    font-size: clamp(20px, calc(1vw + 0.9vh), 26px) !important;
  }

  .desktop-site .start-page-tile p,
  .desktop-site .start-page-tile dd {
    font-size: clamp(11px, calc(0.36vw + 0.35vh), 13px) !important;
    line-height: 1.58em !important;
  }
}

@media (min-width: 900px) and (max-height: 720px) {
  .desktop-site {
    --chapter-pad: clamp(18px, 2.2vw, 32px);
    --chapter-heading: clamp(23px, calc(1.1vw + 1vh), 34px);
    --chapter-text: clamp(12px, calc(0.46vw + 0.45vh), 15px);
    --chapter-line: 1.48em;
  }

  .desktop-site .chapter-panel.is-active {
    max-height: calc(100vh - 36px) !important;
  }

  .desktop-site .chapter-panel.is-active p {
    margin-bottom: 8px !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  .desktop-site main {
    width: min(700px, calc(100vw - 510px)) !important;
  }
}

@media (max-width: 899px) {
  .mobile-site {
    --mobile-heading: clamp(24px, 7vw, 34px);
    --mobile-subheading: clamp(22px, 6vw, 30px);
    --mobile-text: clamp(14px, 3.8vw, 16px);
    --mobile-small: clamp(12px, 3.2vw, 14px);
    --mobile-pad: clamp(18px, 5vw, 28px);
  }

  .mobile-hero h1 {
    font-size: var(--mobile-heading) !important;
    line-height: 1.12 !important;
  }

  .mobile-hero h2,
  .mobile-section h2 {
    font-size: var(--mobile-subheading) !important;
    line-height: 1.18 !important;
  }

  .mobile-hero p:not(.eyebrow),
  .mobile-section p,
  details p,
  .contact-mobile p {
    font-size: var(--mobile-text) !important;
    line-height: 1.62em !important;
  }

  .mobile-hero .eyebrow,
  .mobile-top small {
    font-size: var(--mobile-small) !important;
  }

  details {
    padding: var(--mobile-pad) !important;
  }

  details summary {
    margin-bottom: 18px !important;
  }

  summary {
    font-size: var(--mobile-text) !important;
    line-height: 1.35em !important;
  }

  .mobile-list span {
    font-size: var(--mobile-text) !important;
    line-height: 1.4em !important;
  }
}


/* === FONT DIRECTION + SLIGHTLY LARGER CHAPTER TEXT === */
:root {
  --font-antiqua: Georgia, "Palatino Linotype", Palatino, Cambria, "Times New Roman", serif;
  --font-grotesk: "Segoe UI", Arial, Helvetica, "Helvetica Neue", sans-serif;

/*--font-antiqua: Cambria, Georgia, serif;
--font-grotesk: "Helvetica Neue", Helvetica, Arial, sans-serif;
*/


  }

h1,
h2,
h3,
.eyebrow,
.site-header,
.left-sidebar-menu,
.mobile-top,
summary,
.button,
.sticky-actions a,
.address-notice__label {
  font-family: var(--font-antiqua) !important;
}

.desktop-site .chapter-panel,
.desktop-site .chapter-panel p,
.desktop-site .chapter-panel li,
.desktop-site .chapter-panel dd,
.desktop-site .chapter-panel .lead,
.desktop-site .topic-grid span,
.mobile-site p,
.mobile-list span,
details p,
.contact-mobile p {
  font-family: var(--font-grotesk) !important;
}

@media (min-width: 900px) {
  .desktop-site {
    --chapter-heading: clamp(29px, calc(1.55vw + 1.2vh), 48px);
    --chapter-text: clamp(15px, calc(0.68vw + 0.56vh), 19px);
    --chapter-small: clamp(12px, calc(0.4vw + 0.42vh), 14px);
  }

  .desktop-site .left-sidebar-menu a {
    font-size: clamp(12px, calc(0.35vw + 0.38vh), 14px) !important;
  }

  .desktop-site .topic-grid span {
    font-size: clamp(13px, calc(0.5vw + 0.48vh), 16px) !important;
  }
}

@media (min-width: 900px) and (max-height: 720px) {
  .desktop-site {
    --chapter-heading: clamp(25px, calc(1.2vw + 1.05vh), 38px);
    --chapter-text: clamp(13px, calc(0.52vw + 0.5vh), 16px);
  }
}

@media (max-width: 899px) {
  .mobile-site {
    --mobile-heading: clamp(26px, 7.5vw, 36px);
    --mobile-subheading: clamp(24px, 6.4vw, 32px);
    --mobile-text: clamp(15px, 4.1vw, 17px);
  }
}

/* === WIDER DESKTOP SIDE COLUMNS FOR LONGER MENU LABELS === */
@media (min-width: 900px) {
  body.desktop-site {
    padding-left: clamp(240px, 21vw, 310px) !important;
    padding-right: clamp(305px, 24vw, 365px) !important;
  }

  .desktop-site .left-sidebar-menu {
    width: clamp(215px, 18vw, 265px) !important;
    padding-left: clamp(22px, 2.2vw, 34px) !important;
    padding-right: clamp(18px, 1.8vw, 28px) !important;
  }

  .desktop-site .brand {
    left: clamp(22px, 2.2vw, 34px) !important;
    width: clamp(170px, 15vw, 220px) !important;
  }

  .desktop-site .left-sidebar-menu a {
    font-size: clamp(13px, calc(0.42vw + 0.42vh), 16px) !important;
    line-height: 1.25em !important;
    padding: 10px 12px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }

  .desktop-site .start-page-tile {
    right: clamp(28px, 2.4vw, 40px) !important;
    width: clamp(255px, 20vw, 305px) !important;
  }

  .desktop-site main {
    width: min(820px, calc(100vw - 680px)) !important;
  }
}

@media (min-width: 900px) and (max-width: 1180px) {
  body.desktop-site {
    padding-left: 230px !important;
    padding-right: 275px !important;
  }

  .desktop-site .left-sidebar-menu {
    width: 200px !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }

  .desktop-site .brand {
    left: 18px !important;
    width: 158px !important;
  }

  .desktop-site .start-page-tile {
    right: 20px !important;
    width: 235px !important;
  }

  .desktop-site main {
    width: min(660px, calc(100vw - 545px)) !important;
  }
}
