:root {
  --navy: #112b46; --ink: #112b46; --green: #1d6847; --green-dark: #145239;
  --sage: #d9e2d7; --cream: #f4f1e8; --paper: #fbfaf6; --white: #fff; --muted: #53625d;
  --line: rgba(17, 43, 70, .14); --line-dark: rgba(255, 255, 255, .18); --shadow: 0 12px 34px rgba(17, 43, 70, .10);
  --shell: min(1200px, calc(100vw - 80px)); --header-h: 76px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; }
body { margin: 0; min-width: 320px; overflow-x: hidden; color: var(--ink); background: var(--paper); font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 16px; line-height: 1.62; }
body.nav-open { overflow: hidden; }
img, video { display: block; max-width: 100%; object-fit: cover; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button, input, textarea, select, a { -webkit-tap-highlight-color: transparent; }
button { color: inherit; }
p, h1, h2, h3 { margin-top: 0; }
p { margin-bottom: 1em; }
.shell { width: var(--shell); margin-inline: auto; }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.skip-link { position: fixed; z-index: 9999; left: 16px; top: 16px; padding: 12px 18px; background: var(--white); color: var(--navy); transform: translateY(-140%); }
.skip-link:focus { transform: none; }
:focus-visible { outline: 3px solid var(--green); outline-offset: 4px; }
.icon { width: 21px; height: 21px; flex: 0 0 auto; }
.mini-icon { width: 15px; height: 15px; }
.wa-mark { display: inline-grid; place-items: center; min-width: 22px; height: 18px; padding: 0 3px; border: 1px solid currentColor; font-size: 9px; font-weight: 900; letter-spacing: -.04em; line-height: 1; }

.topline { position: relative; z-index: 70; color: var(--paper); background: var(--navy); font-size: 12px; letter-spacing: .02em; }
.topline-inner { min-height: 35px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.topline-inner > span, .topline-links, .topline-links a { display: flex; align-items: center; gap: 7px; }
.topline-links { gap: 22px; }
.topline a:hover { color: var(--white); }
.site-header { position: sticky; z-index: 60; top: 0; height: var(--header-h); border-bottom: 1px solid var(--line); background: var(--paper); transition: height .2s ease, box-shadow .2s ease; }
.site-header.is-scrolled { height: 72px; box-shadow: 0 6px 20px rgba(17, 43, 70, .06); }
.header-inner { height: 100%; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { min-width: 218px; display: flex; align-items: stretch; gap: 12px; color: var(--navy); line-height: 1; }
.brand-rule { width: 4px; background: linear-gradient(to bottom, var(--navy) 0 54%, var(--green) 54%); }
.brand strong { display: block; font-size: 18px; letter-spacing: .055em; }
.brand small { display: block; margin-top: 7px; font-size: 11px; font-weight: 800; letter-spacing: .15em; }
.main-nav { height: 100%; display: flex; align-items: center; gap: 26px; font-size: 14px; font-weight: 700; }
.main-nav > a:not(.nav-action), .nav-services > button { position: relative; min-height: 44px; display: flex; align-items: center; border: 0; background: transparent; cursor: pointer; }
.main-nav > a:not(.nav-action)::after, .nav-services > button::after { position: absolute; left: 0; right: 0; bottom: -3px; height: 2px; content: ""; background: var(--green); transform: scaleX(0); transform-origin: left; transition: transform .2s ease; }
.main-nav > a:hover::after, .main-nav > a.is-active::after, .nav-services:hover > button::after, .nav-services.is-active > button::after { transform: scaleX(1); }
.nav-chevron { width: 15px; height: 15px; margin-left: 5px; transition: transform .2s; }
.nav-services { position: relative; height: 100%; display: flex; align-items: center; }
.nav-services.is-open .nav-chevron { transform: rotate(180deg); }
.service-menu { position: absolute; top: calc(100% - 4px); left: -20px; width: 290px; max-height: min(390px, calc(100vh - 135px)); overflow: auto; padding: 10px; border-top: 2px solid var(--green); background: var(--paper); box-shadow: 0 14px 34px rgba(17, 43, 70, .11); opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s ease, visibility .18s ease, transform .18s ease; }
.nav-services.is-open .service-menu { opacity: 1; visibility: visible; transform: none; }
.service-menu a { min-height: 48px; display: flex; align-items: center; gap: 14px; padding: 9px 14px; border-left: 2px solid transparent; }
.service-menu a:hover, .service-menu a:focus-visible, .service-menu a.is-current { border-left-color: var(--green); background: var(--cream); }
.nav-action { min-height: 44px; display: inline-flex; align-items: center; gap: 12px; padding: 0 19px; color: var(--white); background: var(--green); }
.nav-action:hover { background: var(--green-dark); }
.nav-action .icon { width: 17px; }
.menu-toggle { display: none; min-width: 50px; min-height: 46px; align-items: center; gap: 8px; border: 1px solid var(--line); background: transparent; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; cursor: pointer; }
.contact-rail { position: fixed; z-index: 50; top: 34%; right: 14px; display: flex; flex-direction: column; align-items: stretch; color: var(--white); background: var(--navy); box-shadow: 0 8px 22px rgba(17, 43, 70, .10); }
.contact-rail a { width: 43px; height: 43px; display: grid; place-items: center; border-top: 1px solid var(--line-dark); }
.contact-rail a:hover { background: var(--green); }
.contact-rail .icon { width: 17px; }
.rail-label { padding: 11px 0; writing-mode: vertical-rl; transform: rotate(180deg); font-size: 10px; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.page-contact .contact-rail { display: none; }

.section-label { margin-bottom: 20px; color: var(--green); font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.section-label::before { display: inline-block; width: 34px; height: 1px; margin: 0 10px 3px 0; content: ""; background: currentColor; }
h1, h2, h3 { color: var(--navy); font-family: Georgia, "Times New Roman", serif; font-weight: 500; line-height: 1.04; text-wrap: balance; }
h1 { font-size: clamp(46px, 5.8vw, 84px); letter-spacing: -.04em; }
h2 { font-size: clamp(36px, 3.9vw, 54px); letter-spacing: -.032em; }
h3 { font-size: clamp(26px, 2.3vw, 36px); letter-spacing: -.022em; }
.button { min-height: 48px; display: inline-flex; align-items: center; justify-content: center; gap: 13px; padding: 11px 19px; border: 1px solid transparent; font-size: 13px; font-weight: 850; letter-spacing: .025em; transition: background .18s, color .18s, border .18s, transform .18s; }
.button:hover { transform: translateY(-1px); }
.button-primary { color: var(--white); background: var(--green); }
.button-primary:hover { background: var(--green-dark); }
.button-line { border-color: var(--navy); color: var(--navy); }
.button-line:hover { color: var(--white); background: var(--navy); }
.action-row { display: flex; align-items: center; flex-wrap: wrap; gap: 16px 22px; }
.text-link { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; color: var(--navy); font-size: 13px; font-weight: 800; }
.text-link .icon { width: 17px; }
.back-link { min-height: 40px; display: inline-flex; align-items: center; margin-bottom: 44px; color: var(--muted); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.home-hero { min-height: 730px; overflow: hidden; background: var(--cream); }
.hero-stage { position: relative; min-height: 730px; padding: 82px 0 58px; }
.hero-copy { position: relative; z-index: 4; width: 62%; }
.hero-copy h1 { max-width: 850px; margin-bottom: 24px; font-size: clamp(52px, 5.1vw, 76px); }
.hero-copy h1 em { position: relative; z-index: 2; color: var(--green); font-style: italic; }
.hero-copy h1 em::after { position: absolute; z-index: -1; left: -8px; right: -14px; bottom: 3px; height: 16px; content: ""; background: var(--sage); transform: skewX(-12deg); }
.hero-copy > p:not(.section-label) { max-width: 630px; margin-bottom: 30px; color: var(--muted); font-size: 18px; line-height: 1.65; }
.hero-copy .text-link { font-size: 15px; }
.hero-plan-link { position: absolute; z-index: 6; left: 0; bottom: 36px; display: flex; gap: 14px; align-items: center; color: var(--navy); font-size: 11px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.hero-plan-link span { font-size: 22px; }
.house-scene { position: absolute; z-index: 2; right: -8%; bottom: 6%; width: 64%; height: 590px; }
.service-collage { position: absolute; right: 0; bottom: 42px; width: 86%; height: 410px; display: grid; grid-template-columns: 1.08fr .82fr .92fr; grid-template-rows: 1.08fr .92fr; gap: 6px; padding: 6px; background: var(--paper); box-shadow: var(--shadow); }
.collage-tile { position: relative; min-width: 0; min-height: 0; overflow: hidden; background: var(--navy); }
.collage-tile::after { position: absolute; inset: 0; content: ""; background: rgba(17,43,70,.08); pointer-events: none; }
.collage-tile img { width: 100%; height: 100%; object-fit: cover; filter: saturate(.78) contrast(.98) sepia(.03); }
.collage-clean { grid-column: 1; grid-row: 1 / 3; }
.collage-renovate { grid-column: 2 / 4; grid-row: 1; }
.collage-clear { grid-column: 2; grid-row: 2; }
.collage-home, .collage-garden { grid-column: 3; grid-row: 2; }
.is-interactive .service-collage { left: 0; right: auto; bottom: 76px; width: 90%; height: 390px; }
.is-interactive .collage-garden { position: absolute; z-index: 3; left: 11%; right: -7%; bottom: -75px; height: 102px; border: 6px solid var(--paper); }

.object-plan { position: relative; padding: 104px 0 72px; background: var(--paper); }
.plan-intro { display: grid; grid-template-columns: .8fr 2fr; gap: 30px; align-items: start; }
.plan-intro .section-label { margin-top: 10px; }
.plan-intro h2 { margin: 0; }
.plan-intro > p:last-child { grid-column: 2; max-width: 650px; color: var(--muted); font-size: 18px; }
.plan-layout { position: relative; min-height: 650px; display: grid; grid-template-columns: 1.4fr .8fr; gap: 60px; align-items: end; margin-top: 64px; }
.plan-layout .house-scene { position: relative; inset: auto; width: 100%; height: 610px; }
.zone-controls { position: absolute; z-index: 12; inset: 0; }
.zone { position: absolute; min-width: 116px; min-height: 51px; padding: 9px 11px; border: 1px solid var(--line-dark); color: var(--white); background: var(--navy); box-shadow: 0 6px 16px rgba(17,43,70,.10); text-align: left; cursor: pointer; transition: transform .18s, background .18s, border-color .18s; }
.zone:hover { transform: translateY(-1px); }
.zone[aria-selected="true"] { border-color: var(--green); background: var(--green); }
.zone::after { position: absolute; width: 1px; height: 26px; content: ""; background: currentColor; opacity: .65; }
.zone span { display: block; font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.zone small { display: block; margin-top: 2px; font-size: 11px; opacity: .82; }
.zone-gebaeudereinigung { left: 4%; top: 31%; }.zone-gebaeudereinigung::after { left: 30%; top: 100%; }
.zone-renovierung { left: 49%; top: 25%; }.zone-renovierung::after { left: 45%; top: 100%; }
.zone-entruempelung { left: 34%; top: 57%; }.zone-entruempelung::after { left: 35%; bottom: 100%; }
.zone-hausaufloesung { right: 5%; top: 12%; }.zone-hausaufloesung::after { left: 25%; top: 100%; height: 54px; }
.zone-gartenpflege { right: 1%; bottom: 8%; }.zone-gartenpflege::after { left: 15%; bottom: 100%; }
.plan-panels { position: relative; z-index: 15; margin-bottom: 44px; padding: 40px 36px; border-top: 4px solid var(--green); background: var(--navy); color: var(--paper); box-shadow: var(--shadow); }
.plan-panels article[hidden] { display: none; }
.plan-panels .section-label, .plan-panels h3 { color: var(--white); }
.plan-panels h3 { margin-bottom: 18px; }
.plan-panels ul { display: grid; gap: 10px; padding: 0; margin: 25px 0 30px; list-style: none; }
.plan-panels li { display: flex; gap: 9px; align-items: center; font-size: 15px; }
.plan-panels li .icon { width: 15px; color: var(--sage); }
.plan-panels .button-line { color: var(--white); border-color: var(--sage); }
.plan-panels .button-line:hover { color: var(--navy); background: var(--white); }

.service-chapters { overflow: hidden; background: var(--white); }
.chapter-heading { padding: 76px 0 56px; display: grid; grid-template-columns: 1fr 2fr; gap: 30px; }
.chapter { width: var(--shell); margin-inline: auto; border-top: 1px solid var(--line); }
.chapter p { max-width: 660px; color: var(--muted); font-size: 16px; }
.chapter a { min-height: 44px; display: inline-flex; gap: 10px; align-items: center; font-size: 14px; font-weight: 800; border-bottom: 1px solid currentColor; }
.chapter a .icon { width: 16px; }
.chapter-clean { min-height: 470px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 72px; align-items: center; padding: 64px 0; }
.chapter-copy > span, .chapter-clearance span, .chapter-declutter span, .chapter-renovate span, .chapter-garden span { display: block; margin-bottom: 20px; color: var(--green); font-size: 11px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.wipe-sample { position: relative; height: 330px; overflow: hidden; box-shadow: var(--shadow); }
.wipe-sample img { width: 100%; height: 100%; filter: saturate(.78) contrast(.98) sepia(.03); }
.chapter-clearance { min-height: 350px; display: grid; grid-template-columns: 1.1fr .85fr auto; gap: 50px; align-items: center; padding: 60px max(40px, calc((100vw - 1200px)/2)); width: 100%; color: var(--paper); background: var(--navy); }
.chapter-clearance p { color: var(--sage); }
.chapter-clearance h3 { color: var(--white); }
.chapter-clearance a { white-space: nowrap; }
.chapter-declutter { min-height: 500px; display: grid; grid-template-columns: .85fr 1fr; gap: 72px; align-items: center; padding: 72px 0; }
.declutter-image { height: 360px; overflow: hidden; box-shadow: var(--shadow); }
.declutter-image img { width: 100%; height: 100%; filter: saturate(.78) contrast(.98) sepia(.03); }
.chapter-renovate { min-height: 470px; display: grid; grid-template-columns: 1fr 1.2fr; gap: 72px; align-items: center; padding: 64px 0; }
.renovation-teaser { height: 330px; margin: 0; overflow: hidden; box-shadow: var(--shadow); }
.renovation-teaser img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78) brightness(1.08) contrast(.98) sepia(.03); }
.chapter-garden { position: relative; min-height: 540px; width: 100%; border: 0; overflow: hidden; }
.chapter-garden video { width: 100%; height: 540px; object-fit: cover; }
.chapter-garden::after { position: absolute; inset: 0; content: ""; background: linear-gradient(90deg, rgba(17,43,70,.82), rgba(17,43,70,.26) 64%, rgba(17,43,70,.08)); }
.chapter-garden > div { position: absolute; z-index: 2; left: max(24px, calc((100vw - 1180px)/2)); top: 50%; width: min(500px, calc(100% - 48px)); color: var(--white); transform: translateY(-50%); }
.chapter-garden h3 { color: var(--white); }
.chapter-garden p { color: var(--paper); }
.chapter-garden span { color: var(--sage); }

.region-route { padding: 96px 0; color: var(--ink); background: var(--sage); }
.region-grid { display: grid; grid-template-columns: .88fr 1.12fr; gap: 72px; align-items: center; }
.region-grid h2 { color: var(--navy); }
.region-grid > div:first-child > p:not(.section-label) { max-width: 540px; margin-bottom: 30px; color: var(--muted); font-size: 16px; }
.route-map { position: relative; height: 390px; overflow: hidden; border: 1px solid var(--line); background: var(--paper); box-shadow: var(--shadow); }
.region-vehicle { margin: 0; }
.region-vehicle img { width: 100%; height: 100%; object-fit: cover; object-position: center; filter: saturate(.78) contrast(.98) sepia(.03); }
.region-compact { padding: 54px 0; background: var(--cream); }
.region-compact .shell { display: grid; grid-template-columns: .55fr 1.05fr 1fr; gap: 34px; align-items: center; }
.region-compact .section-label, .region-compact h2, .region-compact p { margin: 0; }
.region-compact h2 { font-size: clamp(32px, 3.2vw, 44px); }
.region-compact p:not(.section-label) { color: var(--muted); }

.request-form { position: relative; padding: 44px; color: var(--ink); background: var(--white); box-shadow: var(--shadow); }
.form-intro { display: flex; justify-content: space-between; gap: 30px; margin-bottom: 35px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.form-intro span { color: var(--green); font-size: 12px; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.form-intro strong { max-width: 390px; text-align: right; color: var(--navy); }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; }
.form-grid label:not(.check-row) { display: grid; gap: 7px; }
.form-grid label > span { color: var(--navy); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.form-grid input:not([type="checkbox"]), .form-grid textarea, .form-grid select { width: 100%; min-height: 48px; padding: 10px 12px; border: 0; border-bottom: 2px solid var(--line); border-radius: 0; color: var(--ink); background: var(--paper); }
.form-grid textarea { resize: vertical; }
.form-grid input:focus, .form-grid textarea:focus, .form-grid select:focus { border-color: var(--green); outline: 0; box-shadow: 0 3px 0 rgba(29,104,71,.12); }
.form-wide { grid-column: 1 / -1; }
.check-row { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; }
.check-row input { width: 18px; height: 18px; accent-color: var(--green); }
.check-row span { color: var(--muted) !important; font-size: 12px !important; font-weight: 500 !important; letter-spacing: 0 !important; text-transform: none !important; }
.check-row a { text-decoration: underline; }
.form-submit { display: flex; align-items: center; gap: 20px; margin-top: 30px; }
.form-submit p { margin: 0; color: var(--muted); font-size: 13px; }
.form-submit [data-form-status].is-error { color: #9b332a; }

.service-hero { padding: 64px 0 76px; overflow: hidden; background: var(--cream); }
.service-hero-grid { display: grid; grid-template-columns: 1fr .83fr; gap: 80px; align-items: center; }
.service-hero-copy, .service-hero-media { min-width: 0; }
.service-hero-copy h1 { font-size: clamp(48px, 5.6vw, 80px); }
.page-renovierung .service-hero-grid { grid-template-columns: minmax(0, 1.4fr) minmax(340px, .6fr); }
.page-renovierung .service-hero-copy h1 { max-width: 100%; font-size: clamp(48px, 4.55vw, 70px); hyphens: auto; overflow-wrap: break-word; }
.editorial-statement { margin: -9px 0 24px; color: var(--green); font: italic 500 clamp(24px, 2.6vw, 38px)/1.12 Georgia, serif; letter-spacing: -.025em; }
.service-hero-copy > p:not(.section-label) { max-width: 680px; margin-bottom: 34px; color: var(--muted); font-size: 17px; }
.service-hero-copy > .editorial-statement { color: var(--green); }
.service-hero-media { position: relative; height: 540px; }
.service-hero-media::before { display: none; }
.service-hero-media img { position: relative; z-index: 1; width: 100%; height: 100%; border: 1px solid var(--line); box-shadow: var(--shadow); filter: saturate(.78) contrast(.98) sepia(.03); }
.feature-index { padding: 96px 0; background: var(--paper); }
.index-heading { max-width: 830px; margin-bottom: 60px; }
.index-heading > p:not(.section-label) { color: var(--muted); font-size: 16px; }
.feature-index ul { padding: 0; margin: 0; border-top: 1px solid var(--line); list-style: none; }
.feature-index li { min-height: 112px; display: grid; grid-template-columns: .8fr 1.2fr; gap: 36px; align-items: center; padding: 24px 0; border-bottom: 1px solid var(--line); transition: padding-left .2s ease, border-color .2s ease; }
.feature-index li:hover { padding-left: 6px; border-bottom-color: var(--green); }
.feature-index li h3 { margin: 0; font: 750 19px/1.3 Inter, sans-serif; letter-spacing: 0; }
.feature-index li p { max-width: 680px; margin: 0; color: var(--muted); font-size: 16px; }
.clean-lab, .space-stage { padding: 96px 0; background: var(--white); }
.clean-lab-grid, .space-stage-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 80px; align-items: center; }
.clean-lab-grid ul { display: grid; gap: 13px; padding: 0; margin: 28px 0 0; list-style: none; }
.clean-lab-grid li { display: flex; gap: 10px; align-items: center; font-size: 15px; font-weight: 750; }
.clean-lab-grid li .icon { width: 16px; color: var(--green); }
.service-still { position: relative; height: 460px; margin: 0; overflow: hidden; border: 1px solid var(--line); background: var(--navy); box-shadow: var(--shadow); }
.service-still img { width: 100%; height: 100%; filter: saturate(.78) brightness(1.04) contrast(.98) sepia(.03); }
.service-still figcaption { position: absolute; left: 0; right: 20%; bottom: 0; padding: 14px 18px; color: var(--white); background: rgba(17,43,70,.92); font-size: 12px; }
.service-still.is-portrait img { object-position: center 36%; }
.service-faq { padding: 88px 0; margin-bottom: 40px; color: var(--paper); background: var(--navy); }
.faq-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; }
.faq-layout h2, .faq-layout .section-label { color: var(--white); }
.faq-list { border-top: 1px solid var(--line-dark); }
.faq-list details { border-bottom: 1px solid var(--line-dark); }
.faq-list summary { min-height: 76px; display: flex; justify-content: space-between; align-items: center; gap: 20px; cursor: pointer; list-style: none; font-size: 16px; font-weight: 750; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary .icon { transition: transform .2s; }.faq-list details[open] summary .icon { transform: rotate(180deg); }
.faq-list details[open] summary { color: var(--sage); }
.faq-list details p { max-width: 720px; padding: 0 45px 28px 0; color: var(--sage); font-size: 16px; }
.clearance-hero { padding: 84px 0 108px; background: var(--paper); }
.clearance-hero-grid { display: grid; grid-template-columns: 1.4fr .6fr; gap: 110px; align-items: end; }
.clearance-title h1 { margin: 0; }
.clearance-note { padding-bottom: 10px; color: var(--muted); }
.clearance-note .action-row { margin-top: 30px; }
.clearance-story { padding: 0 0 112px; background: var(--paper); }
.clearance-story-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 100px; align-items: center; }
.portrait-video { position: relative; height: 650px; overflow: hidden; }
.portrait-video video { width: 100%; height: 100%; object-fit: cover; filter: saturate(.75) contrast(.98) sepia(.03); }
.portrait-video span { position: absolute; left: 0; bottom: 0; padding: 18px 24px; color: var(--white); background: var(--navy); font-size: 11px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.story-copy p { color: var(--muted); font-size: 16px; }
.clearance-steps { position: relative; padding: 88px 0; color: var(--sage); background: var(--navy); }
.clearance-steps .shell { position: relative; }
.quiet-line { position: absolute; top: 30px; bottom: 30px; left: 50%; width: 1px; background: var(--line-dark); }
.clearance-steps article { width: 50%; min-height: 138px; display: flex; align-items: center; padding-left: 52px; }
.clearance-steps article:nth-child(odd) { margin-left: 50%; }
.clearance-steps article:nth-child(even) { padding: 0 52px 0 0; text-align: right; }
.clearance-steps h2 { margin-bottom: 10px; color: var(--white); font-size: 36px; }
.hero-declutter .service-hero-media { transform: none; }
.space-stage-grid { grid-template-columns: 1.25fr .75fr; }
.space-copy { padding-left: 10px; }
.space-meter { display: grid; margin-top: 35px; border-top: 1px solid var(--line); }
.space-meter span { padding: 13px 0; border-bottom: 1px solid var(--line); color: var(--navy); font-size: 11px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.space-meter span:nth-child(2) { padding-left: 18%; }.space-meter span:nth-child(3) { padding-left: 38%; color: var(--green); }
.sorting-run { padding: 0 0 110px; background: var(--white); }
.sorting-run .shell { display: grid; grid-template-columns: repeat(4,1fr); border: 1px solid var(--line); }
.sorting-run article { min-height: 210px; padding: 30px 25px; border-right: 1px solid var(--line); }
.sorting-run article:last-child { border: 0; background: var(--green); }
.sorting-run article:last-child h2, .sorting-run article:last-child p { color: var(--white); }
.sorting-run h2 { margin-top: 38px; font-size: 30px; }.sorting-run p { color: var(--muted); }

.hero-renovate { background: var(--cream); }
.material-board { padding: 96px 0; background: var(--white); }
.material-intro { width: 65%; }
.material-intro > p:not(.section-label) { color: var(--muted); font-size: 16px; }
.swatch-run { height: 110px; display: grid; grid-template-columns: 1.2fr 1fr .9fr 1.1fr; margin: 64px 0; }
.swatch-run span { display: flex; align-items: flex-end; padding: 12px; font-size: 11px; font-weight: 850; letter-spacing: .08em; }
.swatch-run span:nth-child(1){background:var(--cream)}.swatch-run span:nth-child(2){background:var(--paper)}.swatch-run span:nth-child(3){background:var(--sage)}.swatch-run span:nth-child(4){background:var(--navy);color:var(--white)}
.renovation-grid { display: grid; grid-template-columns: 1.25fr .75fr; grid-template-rows: 260px 280px; gap: 20px; }
.renovation-grid > img:first-child { grid-row: 1 / 3; width: 100%; height: 100%; }
.renovation-grid > img:last-child { width: 100%; height: 100%; }
.finish-note { padding: 34px; color: var(--white); background: var(--navy); }
.finish-note strong { font: 34px Georgia, serif; }.finish-note p { margin-top: 18px; color: var(--sage); }
.garden-hero { position: relative; min-height: 730px; overflow: hidden; }
.garden-hero video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.garden-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(17,43,70,.84) 0%, rgba(17,43,70,.54) 48%, rgba(17,43,70,.10) 82%); }
.garden-copy { position: relative; z-index: 2; padding-top: 105px; color: var(--white); }
.garden-copy .back-link, .garden-copy .section-label, .garden-copy h1, .garden-copy .text-link { color: var(--white); }
.garden-copy h1 { max-width: 760px; }.garden-copy > p:not(.section-label) { max-width: 620px; margin-bottom: 35px; font-size: 18px; }
.garden-copy .editorial-statement { color: var(--white); text-shadow: 0 2px 20px rgba(17,43,70,.72); }
.garden-copy .button-primary { color: var(--green-dark); background: var(--white); }
.season-run { color: var(--ink); background: var(--sage); }
.season-run .shell { display: grid; grid-template-columns: repeat(3,1fr); }
.season-run article { min-height: 280px; padding: 52px 45px; border-right: 1px solid var(--line); }
.season-run article:last-child { border: 0; }.season-run span { color: var(--green); font-size: 11px; font-weight: 850; letter-spacing: .12em; }.season-run h2 { margin-top: 58px; color: var(--navy); font-size: 34px; }

.about-hero { padding: 88px 0 40px; overflow: hidden; background: var(--cream); }
.about-hero .shell { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(380px,.7fr); gap: 64px; align-items: end; }
.about-copy { min-width: 0; }
.about-copy h1 { font-size: clamp(52px, 5vw, 74px); }
.about-copy > p:not(.section-label) { max-width: 650px; color: var(--muted); font-size: 18px; }
.about-vehicle { position: relative; min-width: 0; margin: 0; padding-bottom: 12px; border-bottom: 2px solid var(--green); }
.about-vehicle img { width: 100%; height: 285px; object-fit: cover; object-position: center; border: 1px solid var(--line); box-shadow: var(--shadow); filter: saturate(.78) contrast(.98) sepia(.03); }
.about-vehicle figcaption { position: absolute; z-index: 2; right: 4%; bottom: 12px; padding: 11px 14px; color: var(--white); background: var(--navy); font-size: 11px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.logbook { padding: 100px 0; background: var(--paper); }
.logbook-grid { display: grid; grid-template-columns: .75fr 1.25fr; gap: 90px; }
.about-values-copy > p:not(.section-label) { color: var(--muted); font-size: 16px; line-height: 1.7; }
.about-values-copy .button { margin-top: 12px; }
.logbook ul { padding: 0; margin: 0; list-style: none; border-top: 1px solid var(--line); }
.logbook li { padding: 24px 0; border-bottom: 1px solid var(--line); }
.logbook li h3 { margin: 0; font: 800 18px Inter,sans-serif; letter-spacing: 0; }.logbook li p { margin: 8px 0 0; color: var(--muted); }
.contact-hero { padding: 88px 0; color: var(--paper); background: var(--navy); }
.contact-hero-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 100px; align-items: center; }
.contact-hero h1, .contact-hero .section-label { color: var(--white); }
.contact-hero h1 { font-size: clamp(47px,5.2vw,75px); }.contact-hero p { max-width: 690px; }
.contact-lines { display: grid; border-top: 1px solid var(--line-dark); }
.contact-lines > a, .contact-lines > span { min-height: 78px; display: flex; align-items: center; gap: 16px; border-bottom: 1px solid var(--line-dark); }
.contact-lines small { display: block; color: var(--sage); font-size: 11px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.contact-sheet { padding: 100px 0; background: var(--cream); }
.contact-sheet-grid { display: grid; grid-template-columns: .6fr 1.4fr; gap: 80px; align-items: start; }
.sheet-index { position: sticky; top: 110px; }.sheet-index > span { color: var(--green); font-size: 12px; font-weight: 850; letter-spacing: .12em; }.sheet-index h2 { margin-top: 45px; }.sheet-index p { color: var(--muted); }
.legal-hero { padding: 76px 0 60px; background: var(--cream); }.legal-hero h1 { margin-bottom: 20px; }.legal-content { padding: 72px 0 96px; background: var(--white); }.prose { max-width: 820px; }.prose h2 { margin: 44px 0 18px; font-size: 31px; }.prose p { color: var(--muted); }.prose a { color: var(--green); text-decoration: underline; }.legal-warning { margin: 35px 0; padding: 25px; border-left: 4px solid var(--green); background: var(--sage); color: var(--navy) !important; }

.site-footer { position: relative; color: var(--sage); border-top: 1px solid var(--line-dark); background: var(--navy); }
.site-footer::before { position: absolute; left: max(40px, calc((100vw - 1200px)/2)); top: -2px; width: 110px; height: 3px; content: ""; background: var(--green); }
.footer-main { display: grid; grid-template-columns: .75fr 1.25fr; gap: 80px; align-items: end; padding: 56px 0 35px; }
.footer-main h2 { margin-bottom: 18px; color: var(--sage); font: 800 11px/1 Inter,sans-serif; letter-spacing: .11em; text-transform: uppercase; }
.footer-services > div { display: flex; flex-wrap: wrap; gap: 10px 22px; }
.footer-services a { padding-bottom: 4px; border-bottom: 1px solid var(--line-dark); font-size: 14px; }
.footer-main a:hover, .footer-contact-band a:hover { color: var(--white); border-color: currentColor; }
.footer-brand strong { display: block; color: var(--white); font-size: 20px; letter-spacing: .055em; }.footer-brand > span { display: block; margin-top: 6px; color: var(--sage); font-size: 11px; font-weight: 800; letter-spacing: .14em; }.footer-brand p { max-width: 360px; margin-top: 25px; font-size: 14px; }
.footer-contact-band { min-height: 72px; display: grid; grid-template-columns: 1.45fr .55fr 1fr; gap: 30px; align-items: center; padding: 18px 0; border-top: 1px solid var(--line-dark); }
.footer-contact-band > div, .footer-contact-band nav { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; font-size: 12px; }
.footer-contact-band > div > span { color: var(--sage); font-size: 11px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.footer-contact-band p { margin: 0; color: var(--sage); font-size: 12px; }
.footer-contact-band nav { justify-content: flex-end; }
.footer-bottom { min-height: 68px; display: flex; justify-content: space-between; align-items: center; gap: 20px; border-top: 1px solid var(--line-dark); color: var(--sage); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.mobile-contact { display: none; }
.reveal { opacity: 0; transform: translateY(14px); transition: opacity .4s ease, transform .4s ease; }
.reveal.is-visible { opacity: 1; transform: none; }

@media (max-width: 1120px) {
  :root { --shell: min(100% - 56px, 1000px); }
  .topline-mail { display: none !important; }.main-nav { gap: 17px; }.nav-action { padding-inline: 14px; }.hero-copy { width: 70%; }.house-scene { right: -15%; width: 68%; }.plan-layout { grid-template-columns: 1.25fr .75fr; gap: 35px; }.zone { min-width: 105px; }.region-grid, .service-hero-grid { gap: 55px; }.footer-main { gap: 45px; }
  .contact-rail { display: none; }
}
@media (max-width: 900px) {
  :root { --header-h: 70px; --shell: min(100% - 44px, 760px); }
  .topline-inner > span { display: none; }.topline-inner { justify-content: center; }.topline-links { width: 100%; justify-content: space-between; }
  .menu-toggle { display: flex; }
  .main-nav { position: fixed; z-index: 100; top: calc(35px + var(--header-h)); left: 0; right: 0; bottom: 0; height: auto; display: block; padding: 25px max(22px, calc((100vw - 760px)/2)); overflow-y: auto; background: var(--paper); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .2s ease, visibility .2s ease; }
  .main-nav.is-open { opacity: 1; visibility: visible; pointer-events: auto; }.main-nav > a:not(.nav-action), .nav-services > button { width: 100%; min-height: 59px; justify-content: space-between; border-bottom: 1px solid var(--line); }
  .nav-services { height: auto; display: block; }.service-menu { position: static; width: 100%; max-height: 0; padding: 0; overflow: hidden; border: 0; box-shadow: none; opacity: 1; visibility: visible; transform: none; transition: max-height .25s; }.nav-services.is-open .service-menu { max-height: 350px; }.service-menu a { padding-left: 10px; background: var(--cream); }.nav-action { width: 100%; margin-top: 22px; }
  .contact-rail { display: none; }.home-hero, .hero-stage { min-height: 880px; }.hero-stage { padding-top: 75px; }.hero-copy { width: 88%; }.house-scene { right: -12%; bottom: 3%; width: 88%; height: 520px; }.is-hero-collage .service-collage { height: 350px; }.hero-plan-link { bottom: 24px; }
  .plan-intro, .chapter-heading { grid-template-columns: 1fr; }.plan-intro > p:last-child { grid-column: 1; }.plan-layout { min-height: auto; grid-template-columns: 1fr; gap: 10px; }.plan-layout .house-scene { height: 590px; }.plan-layout .service-collage { width: 92%; }.plan-panels { width: 70%; margin: -40px 0 0 auto; }
  .chapter-clean, .chapter-declutter, .chapter-renovate { gap: 40px; }.chapter-clearance { grid-template-columns: 1fr 1fr; gap: 30px; }.chapter-clearance a { grid-column: 2; }
  .region-grid, .faq-layout, .contact-hero-grid, .contact-sheet-grid, .logbook-grid { grid-template-columns: 1fr; }.sheet-index { position: static; }
  .region-compact .shell { grid-template-columns: 1fr 1fr; }.region-compact .section-label { grid-column: 1 / -1; }
  .service-hero-grid, .clean-lab-grid, .space-stage-grid { grid-template-columns: 1fr; gap: 42px; }.service-hero-media { height: 420px; }.feature-index li { grid-template-columns: .8fr 1.2fr; gap: 20px; }
  .page-renovierung .service-hero-grid { grid-template-columns: 1fr; }
  .about-hero .shell { grid-template-columns: 1fr; gap: 48px; align-items: start; }
  .clearance-hero-grid { grid-template-columns: 1fr; gap: 30px; }.clearance-story-grid { gap: 55px; }.portrait-video { height: 540px; }.footer-main { grid-template-columns: 1fr; gap: 30px; }.footer-contact-band { grid-template-columns: 1fr 1fr; }.footer-contact-band > p { display: none; }
}
@media (max-width: 680px) {
  :root { --shell: calc(100% - 40px); }
  html { scroll-padding-top: 92px; } body { padding-bottom: 62px; }
  .topline { font-size: 10px; }.topline-links { gap: 8px; }.topline-links a:first-child .mini-icon { display: none; }.brand { min-width: auto; }.brand strong { font-size: 15px; }.brand small { font-size: 9px; }.menu-toggle span { display: none; }.menu-toggle { min-width: 46px; justify-content: center; padding: 0; }.main-nav { top: 105px; padding-inline: 20px; }
  h1 { font-size: clamp(41px, 11.8vw, 54px); }.service-hero-copy h1, .contact-hero h1 { font-size: clamp(40px, 11.5vw, 53px); } h2 { font-size: clamp(32px, 10.4vw, 46px); }.section-label { margin-bottom: 15px; }
  .page-renovierung .service-hero-copy h1 { font-size: clamp(33px, 9.2vw, 42px); hyphens: auto; overflow-wrap: break-word; }
  .action-row { align-items: stretch; }.action-row .button { width: 100%; }.action-row .text-link { flex: 1; font-size: 12px; }
  .home-hero, .hero-stage { min-height: 820px; }.hero-stage { padding-top: 55px; }.hero-copy { width: 100%; }.hero-copy > p:not(.section-label) { font-size: 16px; }.hero-copy .text-link { display: none; }.hero-copy h1 em::after { height: 12px; }
  .hero-copy h1 { font-size: clamp(38px, 10.8vw, 50px); }
  .home-hero .house-scene { right: -30%; bottom: 5%; width: 125%; height: 430px; opacity: .9; }.home-hero .service-collage { width: 88%; height: 285px; bottom: 35px; }.hero-plan-link { display: none; }
  .object-plan { padding: 64px 0; }.plan-layout { margin-top: 35px; }.plan-layout .house-scene { height: 450px; margin: 0 -20px; width: calc(100% + 40px); }.plan-layout .service-collage { width: 100%; height: 285px; bottom: 72px; }.plan-layout .is-interactive .collage-garden { left: 8%; right: -2%; bottom: -62px; height: 84px; }
  .zone { min-width: 82px; min-height: 44px; padding: 7px; }.zone small { display: none; }.zone span { font-size: 11px; letter-spacing: 0; }.zone-gebaeudereinigung { left: 2%; top: 34%; }.zone-renovierung { left: 44%; top: 28%; }.zone-entruempelung { left: 32%; top: 56%; }.zone-hausaufloesung { right: 1%; top: 16%; }.zone-gartenpflege { right: 1%; bottom: 10%; }.plan-panels { width: 100%; margin: -20px 0 0; padding: 30px 23px; }
  .chapter-heading { padding: 85px 0 50px; }.chapter-clean, .chapter-declutter, .chapter-renovate { min-height: 0; grid-template-columns: 1fr; padding: 65px 0; }.chapter-clean .wipe-sample { grid-row: 1; height: 230px; }.chapter-clearance { min-height: 0; grid-template-columns: 1fr; padding: 65px 20px; }.chapter-clearance a { grid-column: 1; }.declutter-image { height: 300px; }.chapter-renovate .renovation-teaser { grid-row: 1; height: 230px; }.chapter-garden, .chapter-garden video { min-height: 480px; height: 480px; }
  .region-route, .feature-index, .service-faq, .material-board, .logbook, .contact-sheet { padding: 60px 0; }.service-faq { margin-bottom: 32px; }
  .region-grid { gap: 45px; }.route-map { height: 320px; }.region-compact .shell { grid-template-columns: 1fr; gap: 14px; }.region-compact .section-label { grid-column: 1; }.request-form { padding: 26px 19px; }.form-intro { display: grid; }.form-intro strong { text-align: left; }.form-grid { grid-template-columns: 1fr; }.form-wide { grid-column: 1; }.form-submit { align-items: stretch; flex-direction: column; }
  .service-hero { padding: 55px 0 64px; }.service-hero-grid { grid-template-columns: 1fr; }.service-hero-media { height: 360px; margin: 20px 0 0; }.back-link { margin-bottom: 28px; }
  .clean-lab-grid, .space-stage-grid { grid-template-columns: 1fr; }.service-still { height: 360px; }.clean-lab-grid .service-still { grid-row: 1; }.feature-index li { grid-template-columns: 1fr; gap: 9px; padding: 22px 0; }.faq-layout { gap: 40px; }
  .clearance-hero { padding: 60px 0 76px; }.clearance-story { padding-bottom: 72px; }.clearance-story-grid { grid-template-columns: 1fr; }.portrait-video { height: 500px; }.clearance-steps { padding: 58px 0; }.quiet-line { left: 8px; }.clearance-steps article, .clearance-steps article:nth-child(odd), .clearance-steps article:nth-child(even) { width: 100%; min-height: 120px; margin: 0; padding: 0 0 0 34px; text-align: left; }.clearance-steps h2 { font-size: 30px; }
  .sorting-run { padding-bottom: 80px; }.sorting-run .shell { grid-template-columns: 1fr 1fr; }.sorting-run article:nth-child(2) { border-right: 0; }.sorting-run article { min-height: 190px; }.sorting-run h2 { margin-top: 30px; }
  .material-intro { width: 100%; }.swatch-run { height: 96px; grid-template-columns: repeat(4,1fr); margin: 45px 0; }.swatch-run span { align-items: center; justify-content: center; padding: 6px; font-size: 9px; }.renovation-grid { grid-template-columns: 1fr; grid-template-rows: 290px auto 220px; }.renovation-grid > img:first-child { grid-row: 1; }
  .garden-hero { min-height: 680px; }.garden-copy { padding-top: 70px; }.season-run .shell { display: block; }.season-run article { min-height: 220px; padding: 40px 10px; border-right: 0; border-bottom: 1px solid var(--line); }.season-run h2 { margin-top: 45px; }
  .about-hero { padding: 64px 0 48px; }.about-hero .shell { gap: 38px; }.about-copy h1 { font-size: clamp(40px, 10.5vw, 52px); }.about-vehicle { width: 100%; }.about-vehicle img { height: 210px; }
  .contact-hero { padding: 75px 0; }.contact-hero-grid { gap: 55px; }.contact-lines > a, .contact-lines > span { min-height: 68px; }
  .footer-main { grid-template-columns: 1fr; gap: 32px; padding: 48px 0 30px; }.footer-services > div { display: grid; grid-template-columns: 1fr 1fr; }.footer-contact-band { grid-template-columns: 1fr; gap: 16px; }.footer-contact-band nav { justify-content: flex-start; }.footer-bottom { align-items: flex-start; flex-direction: column; justify-content: center; }
  .mobile-contact { position: fixed; z-index: 80; left: 0; right: 0; bottom: 0; height: 62px; display: grid; grid-template-columns: repeat(3,1fr); color: var(--white); background: var(--navy); box-shadow: 0 -6px 18px rgba(17,43,70,.12); }.mobile-contact a { min-width: 0; display: flex; align-items: center; justify-content: center; gap: 7px; border-right: 1px solid var(--line-dark); font-size: 11px; font-weight: 800; }.mobile-contact a:last-child { border: 0; background: var(--green); }.mobile-contact .icon { width: 17px; }
  .page-contact { padding-bottom: 0; }.page-contact .mobile-contact { display: none; }.site-footer::before { left: 20px; }
}
@media (max-width: 390px) {
  :root { --shell: calc(100% - 36px); }
  .topline-links { justify-content: space-around; }.topline-links a { font-size: 10px; }.topline-links a:nth-child(2) { gap: 4px; }.hero-copy .section-label { font-size: 11px; }.home-hero .house-scene { right: -36%; width: 138%; }.zone { min-width: 76px; }.zone-hausaufloesung { right: 0; }.zone-renovierung { left: 42%; }.footer-services > div { grid-template-columns: 1fr; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .reveal { opacity: 1; transform: none; }
}
