/* Kirchhofer Kaminfeger */
/* Individuelles Design (Business): Kirchhofer Kaminfeger AG – angelehnt an kirchhofer-kaminfeger.ch */
@font-face { font-family: "DM Sans"; font-weight: 300 700; font-style: normal; font-display: swap; src: url("/assets/fonts/custom/dm-sans-400.woff2") format("woff2"); }
.vcx-kirchhofer-kaminfeger {
--vc-page: #f5f5f5; --vc-surface: #ffffff; --vc-text: #222222; --vc-muted: #6b6b6b; --vc-line: rgba(34, 34, 34, .12);
--vc-accent: #852314; --vc-on-accent: #ffffff; --vc-tint: rgba(133, 35, 20, .08);
--vc-head: "DM Sans", system-ui, sans-serif; --vc-body: "DM Sans", system-ui, sans-serif; --vc-head-weight: 300;
--vc-radius: 4px; --vc-radius-sm: 2px; --vc-band-h: 230px; --vc-logo-size: 96px; --vc-shadow: 0 24px 50px -30px rgba(0, 0, 0, .45);
}
body.vcx-kirchhofer-kaminfeger, .vc-frame.vcx-kirchhofer-kaminfeger { background: #f5f5f5; font-weight: 300; }
.vcx-kirchhofer-kaminfeger.vc-has-cover { --vc-band-h: 230px; }
.vcx-kirchhofer-kaminfeger .vc-band { background: #363636; }
.vcx-kirchhofer-kaminfeger .vc-band::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(133, 35, 20, .25), rgba(133, 35, 20, .55)); }
.vcx-kirchhofer-kaminfeger .vc-head { text-align: left; padding-top: calc(var(--vc-band-h) - 48px) !important; }
.vcx-kirchhofer-kaminfeger .vc-logo { width: 190px; height: 96px; margin: 0 0 22px; border-radius: 2px; background: #ffffff; box-shadow: 0 14px 30px -12px rgba(0, 0, 0, .45); }
.vcx-kirchhofer-kaminfeger .vc-logo img { width: 88%; height: 80%; }
.vcx-kirchhofer-kaminfeger .vc-company { font-size: 2.2rem; font-weight: 300; line-height: 1.05; letter-spacing: -.01em; margin-bottom: 10px; }
.vcx-kirchhofer-kaminfeger .vc-tagline { color: #852314; text-transform: uppercase; letter-spacing: .14em; font-size: .78rem; font-weight: 500; }
.vcx-kirchhofer-kaminfeger .vc-person { justify-content: flex-start; }
.vcx-kirchhofer-kaminfeger .vcx-body { display: flex; flex-direction: column; }
.vcx-kirchhofer-kaminfeger .vc-actions { order: 1; }
.vcx-kirchhofer-kaminfeger .vc-actions a { background: transparent; border: 1px solid #222; color: #222; border-radius: 2px; text-transform: uppercase; letter-spacing: .08em; font-size: .7rem; font-weight: 500; }
.vcx-kirchhofer-kaminfeger .vc-actions a:hover { background: #852314; border-color: #852314; color: #fff; filter: none; }
.vcx-kirchhofer-kaminfeger .vc-save { order: 2; border-radius: 2px; text-transform: uppercase; letter-spacing: .1em; font-size: .9rem; font-weight: 500; box-shadow: none; }
.vcx-kirchhofer-kaminfeger .vc-extra-btns { order: 3; }
.vcx-kirchhofer-kaminfeger .vc-btn2 { border-radius: 2px; text-transform: uppercase; letter-spacing: .08em; font-size: .78rem; font-weight: 500; }
.vcx-kirchhofer-kaminfeger .vc-services { order: 4; }
.vcx-kirchhofer-kaminfeger .vc-about { order: 5; }
.vcx-kirchhofer-kaminfeger .vc-hours { order: 6; }
.vcx-kirchhofer-kaminfeger .vc-list { order: 7; }
.vcx-kirchhofer-kaminfeger .vc-social { order: 8; } .vcx-kirchhofer-kaminfeger .vc-share { order: 9; }
.vcx-kirchhofer-kaminfeger .vc-about h2, .vcx-kirchhofer-kaminfeger .vc-services h2, .vcx-kirchhofer-kaminfeger .vc-hours h2 { color: #852314; font-weight: 500; font-size: .8rem; letter-spacing: .16em; }
.vcx-kirchhofer-kaminfeger .vc-about p { font-size: 1rem; line-height: 1.6; }
.vcx-kirchhofer-kaminfeger .vc-services ul { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-top: 1px solid var(--vc-line); }
.vcx-kirchhofer-kaminfeger .vc-services li { background: transparent; border-radius: 0; padding: 12px 0; border-bottom: 1px solid var(--vc-line); text-transform: uppercase; letter-spacing: .08em; font-size: .74rem; font-weight: 500; }
.vcx-kirchhofer-kaminfeger .vc-services li::before { content: "— "; color: #852314; }
.vcx-kirchhofer-kaminfeger .vc-li { background: transparent; border: 1px solid var(--vc-line); border-radius: 2px; color: #852314; }
.vcx-kirchhofer-kaminfeger .vc-list small { text-transform: uppercase; letter-spacing: .1em; font-size: .66rem; }
.vcx-kirchhofer-kaminfeger .vc-foot { background: #363636; color: rgba(255, 255, 255, .8); padding: 14px; border-radius: 2px; opacity: 1; }


/* Kirchhofer: kleiner Kaminfeger, Banner-Spaziergang */
.vcx-kirchhofer-kaminfeger .vc-band { overflow: hidden; isolation: isolate; }
.vcx-kirchhofer-kaminfeger .vc-band::before {
 content: ""; position: absolute; z-index: 3; pointer-events: none;
 width: 80px; height: 96px; bottom: 10px; left: -100px;
 background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20150%20150%22%3E%0A%3Cg%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20fill%3D%22none%22%20stroke-width%3D%226%22%3E%3Cpath%20d%3D%22M72%20103Q83%20117%2092%20137L101%20137%22%3E%3Canimate%20attributeName%3D%22d%22%20dur%3D%22.55s%22%20values%3D%22M72%20103Q83%20117%2092%20137L101%20137%3BM72%20103Q74%20120%2074%20137L83%20137%3BM72%20103Q60%20119%2051%20137L60%20137%3BM72%20103Q87%20117%2067%20122L75%20124%3BM72%20103Q96%20114%2091%20124L99%20126%3BM72%20103Q83%20117%2092%20137L101%20137%22%20keyTimes%3D%220%3B.2%3B.4%3B.6%3B.8%3B1%22%20repeatCount%3D%22indefinite%22%2F%3E%3C%2Fpath%3E%3Cpath%20d%3D%22M72%20103Q60%20119%2051%20137L60%20137%22%3E%3Canimate%20attributeName%3D%22d%22%20dur%3D%22.55s%22%20values%3D%22M72%20103Q60%20119%2051%20137L60%20137%3BM72%20103Q87%20117%2067%20122L75%20124%3BM72%20103Q96%20114%2091%20124L99%20126%3BM72%20103Q83%20117%2092%20137L101%20137%3BM72%20103Q74%20120%2074%20137L83%20137%3BM72%20103Q60%20119%2051%20137L60%20137%22%20keyTimes%3D%220%3B.2%3B.4%3B.6%3B.8%3B1%22%20repeatCount%3D%22indefinite%22%2F%3E%3C%2Fpath%3E%3C%2Fg%3E%0A%3Cg%3E%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22translate%22%20values%3D%220%200%3B0%20-1.8%3B0%200%3B0%20-1.8%3B0%200%22%20dur%3D%22.45s%22%20repeatCount%3D%22indefinite%22%2F%3E%0A%3Cg%20transform%3D%22rotate(-3%2070%2078)%22%3E%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22rotate%22%20values%3D%22-3%2070%2078%3B-1%2070%2078%3B-3%2070%2078%22%20dur%3D%22.45s%22%20repeatCount%3D%22indefinite%22%2F%3E%0A%3Cg%20stroke%3D%22%23000%22%20stroke-width%3D%224%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%3Cpath%20d%3D%22M12%2060L127%2088M8%2079L123%20107M30%2065L26%2083M51%2070L47%2088M72%2075L68%2093M93%2080L89%2098M114%2085L110%20103%22%2F%3E%3C%2Fg%3E%0A%3Cpath%20d%3D%22M60%2072Q73%2066%2082%2075L83%20101Q72%20112%2059%20101Z%22%20fill%3D%22%23000%22%2F%3E%0A%3Cpath%20d%3D%22M62%2077Q45%2073%2044%2096%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%3E%3Canimate%20attributeName%3D%22d%22%20dur%3D%22.55s%22%20values%3D%22M62%2077Q45%2073%2044%2096%3BM62%2077Q55%2091%2069%2095%3BM62%2077Q76%2087%2080%2075%3BM62%2077Q55%2091%2069%2095%3BM62%2077Q45%2073%2044%2096%22%20repeatCount%3D%22indefinite%22%2F%3E%3C%2Fpath%3E%0A%3Cpath%20d%3D%22M80%2078Q91%2079%2079%2060%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%225%22%20stroke-linecap%3D%22round%22%3E%3Canimate%20attributeName%3D%22d%22%20dur%3D%22.55s%22%20values%3D%22M80%2078Q91%2079%2079%2060%3BM80%2078Q89%2077%2079%2060%3BM80%2078Q91%2079%2079%2060%22%20repeatCount%3D%22indefinite%22%2F%3E%3C%2Fpath%3E%0A%3Ccircle%20cx%3D%2272%22%20cy%3D%2251%22%20r%3D%2222%22%20fill%3D%22%23000%22%2F%3E%0A%3Cg%20transform%3D%22rotate(-20%2065%2030)%22%20fill%3D%22%23000%22%3E%3Cpath%20d%3D%22M49%209H79V36H49Z%22%2F%3E%3Cpath%20d%3D%22M41%2033H89V38H41Z%22%2F%3E%3C%2Fg%3E%0A%3Cpath%20d%3D%22M57%2068Q70%2074%2083%2067L80%2074Q69%2078%2058%2073Z%22%20fill%3D%22%23c52b27%22%2F%3E%3Cpath%20d%3D%22M62%2074L79%2074%2072%2087Z%22%20fill%3D%22%23c52b27%22%2F%3E%3Cpath%20d%3D%22M58%2070L47%2066%2050%2073%2044%2077%2058%2074Z%22%20fill%3D%22%23c52b27%22%2F%3E%3Ccircle%20cx%3D%2259%22%20cy%3D%2272%22%20r%3D%223%22%20fill%3D%22%23b92320%22%2F%3E%0A%3Cg%20transform%3D%22translate(69%2057)%20scale(1.2)%20translate(-111%20-77)%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-linecap%3D%22round%22%3E%3Cg%20stroke-width%3D%221.7%22%3E%3Cellipse%20cx%3D%22111%22%20cy%3D%2277%22%20rx%3D%2214%22%20ry%3D%2229%22%2F%3E%3Cellipse%20cx%3D%22111%22%20cy%3D%2277%22%20rx%3D%2212%22%20ry%3D%2227%22%2F%3E%3Cellipse%20cx%3D%22111%22%20cy%3D%2277%22%20rx%3D%2210%22%20ry%3D%2225%22%2F%3E%3Cellipse%20cx%3D%22111%22%20cy%3D%2277%22%20rx%3D%228%22%20ry%3D%2223%22%2F%3E%3Cpath%20d%3D%22M99%2062l7%202M99%2094l8-1M117%2054l5-1M120%2091l5%202%22%2F%3E%3C%2Fg%3E%3Cpath%20d%3D%22M102%20103L98%20120M117%20103L119%20130%22%20stroke-width%3D%221.7%22%2F%3E%3Ccircle%20cx%3D%22119%22%20cy%3D%22133%22%20r%3D%224.5%22%20fill%3D%22%23000%22%2F%3E%3Cg%20stroke-width%3D%221%22%3E%3Cpath%20d%3D%22M98%20119v19M88%20128h20M91%20121l14%2014M91%20135l14-14M94%20119l7%2018M88%20124l19%208M88%20132l19-8M102%20120l-7%2017%22%2F%3E%3C%2Fg%3E%3Ccircle%20cx%3D%2298%22%20cy%3D%22128%22%20r%3D%223%22%20fill%3D%22%23000%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E") center / contain no-repeat;
 animation: kirchhofer-spaziergang 9s linear infinite;
}
@keyframes kirchhofer-spaziergang {
 0%, 5% { left: -100px; opacity: 0; }
 7% { left: -80px; opacity: 1; }
 49% { left: 48%; opacity: 1; }
 58% { left: 58%; opacity: 1; }
 88% { left: calc(100% + 12px); opacity: 1; }
 89%, 100% { left: calc(100% + 12px); opacity: 0; }
}
@media (prefers-reduced-motion: reduce) {
 .vcx-kirchhofer-kaminfeger .vc-band::before { display: none; animation: none; }
}

/* Kleine Staubspur hinter dem Kaminfeger */
.vcx-kirchhofer-kaminfeger .vc-band::after {
 background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%20100%2065%22%3E%3Cg%20fill%3D%22%23000%22%3E%3Cg%3E%3Canimate%20attributeName%3D%22opacity%22%20values%3D%22.85%3B.65%3B0%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%2F%3E%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22translate%22%20values%3D%2212%206%3B-5%20-2%3B-25%20-12%22%20dur%3D%221s%22%20repeatCount%3D%22indefinite%22%2F%3E%3Ccircle%20cx%3D%2264%22%20cy%3D%2245%22%20r%3D%2213%22%2F%3E%3Ccircle%20cx%3D%2251%22%20cy%3D%2237%22%20r%3D%2213%22%2F%3E%3Ccircle%20cx%3D%2239%22%20cy%3D%2245%22%20r%3D%2212%22%2F%3E%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2212%22%2F%3E%3C%2Fg%3E%3Cg%3E%3Canimate%20attributeName%3D%22opacity%22%20values%3D%220%3B.8%3B.4%3B0%22%20dur%3D%221s%22%20begin%3D%22-.5s%22%20repeatCount%3D%22indefinite%22%2F%3E%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22translate%22%20values%3D%2212%208%3B-5%200%3B-25%20-10%22%20dur%3D%221s%22%20begin%3D%22-.5s%22%20repeatCount%3D%22indefinite%22%2F%3E%3Ccircle%20cx%3D%2267%22%20cy%3D%2245%22%20r%3D%2211%22%2F%3E%3Ccircle%20cx%3D%2256%22%20cy%3D%2239%22%20r%3D%2212%22%2F%3E%3Ccircle%20cx%3D%2243%22%20cy%3D%2247%22%20r%3D%2210%22%2F%3E%3C%2Fg%3E%3C%2Fg%3E%3C%2Fsvg%3E"), linear-gradient(180deg, rgba(133,35,20,.25), rgba(133,35,20,.55));
 background-size: 90px 60px, 100% 100%; background-repeat: no-repeat;
 animation: kirchhofer-staub 9s linear infinite;
 pointer-events: none;
}
@keyframes kirchhofer-staub {
 0%,5% { background-position: -140px calc(100% - 12px), 0 0; }
 7% { background-position: -120px calc(100% - 12px), 0 0; }
 49% { background-position: calc(48% + 6px) calc(100% - 12px), 0 0; }
 58% { background-position: calc(58% + 16px) calc(100% - 12px), 0 0; }
 88%,100% { background-position: calc(100% + 12px) calc(100% - 12px), 0 0; }
}
@media (prefers-reduced-motion: reduce) {
 .vcx-kirchhofer-kaminfeger .vc-band::after { animation: none; background-image: linear-gradient(180deg, rgba(133,35,20,.25), rgba(133,35,20,.55)); }
}
