.lo-subhero {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    margin-top: 50px;
    padding: 9.9vw 0 9.9vw 11.2vw;
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

.lo-subhero::before { content: ""; position: absolute; inset: 0; z-index: -1; background: radial-gradient(rgba(23, 34, 7, .43) 0%, #000 100%); opacity: .55; }
.entry-content h1.lo-subhero-titel { font-size: 64px; font-weight: 700; line-height: 1.1; color: #fff; }

.lo-seitenintro { display: grid; grid-template-columns: 58% 42%; padding: calc(3vw + 10px) calc(5vw + 10px) calc(3vw + 10px) calc(10vw + 10px); background: #fff; }
.lo-seitenintro > * { padding: 10px; }
.lo-seitenintro-text { display: flex; flex-direction: column; align-items: flex-start; }
.lo-seitenintro-text .lo-ueberzeile { margin-bottom: 3%; }
.lo-seitenintro-text .lo-h2, .lo-abschnitt-titel { font-size: 40px; line-height: 1.2; }
.lo-seitenintro-text .lo-h2 { margin-bottom: 3%; }
.lo-seitenintro-text p { margin-bottom: 28.8px; }
.lo-seitenintro-text .lo-knoepfe { gap: 14px; margin: 0; }
.lo-seitenintro-bild { margin: 0; }
.lo-seitenintro-bild img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; border-radius: 18px; }
.lo-logoreihe { display: flex; flex-wrap: wrap; align-items: center; gap: 28px; margin: 0 0 28.8px; }
.lo-logoreihe figure { margin: 0; }
.lo-logoreihe img { width: auto; height: 46px; object-fit: contain; }

.lo-leistungskarten { padding: 120px max(45px, (100% - 1350px) / 2); background: #f0f0f0; text-align: center; }
.lo-leistungskarten .lo-ueberzeile { margin-bottom: calc(3% + 20px); }
.lo-leistungskarten .lo-abschnitt-titel { max-width: 620px; margin: 0 auto 50px; }
.lo-leistungsraster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 25px; text-align: left; }

.lo-leistung {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 65px;
    padding: 35px 30px;
    border-radius: 20px;
    background: #fff;
    transition: transform .4s, box-shadow .4s;
}

.lo-leistung:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(0, 0, 0, .07); }
.lo-leistung h3 { margin: -8px 0 14px; font-size: 28px; font-weight: 700; line-height: 1.2; }
.lo-leistung-fuss { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; }
.lo-leistung-fuss figure { margin: 0; }
.lo-leistung-fuss img { width: 103px; height: 103px; object-fit: contain; }
.entry-content .lo-leistung-link a { display: inline-flex; align-items: center; gap: 10px; font-family: var(--lo-titel); font-size: 16px; font-weight: 600; line-height: 1; color: var(--lo-rot); text-decoration: none; }
.lo-leistung-link .lo-symbol { width: 16px; height: 16px; padding: 3px; border-radius: 50%; background: var(--lo-rot); color: #fff; }
.entry-content .lo-leistung-link a:hover { color: #000; }

.lo-rechner { padding: 10px max(45px, (100% - 1350px) / 2); }
.lo-rechner iframe { display: block; width: 100%; height: 800px; border: 0; }

.lo-merkmal { display: grid; grid-template-columns: 38% 1fr; gap: 50px; padding: 126px max(45px, (100% - 1350px) / 2); }
.lo-merkmal-bild { display: flex; flex-direction: column; justify-content: flex-end; align-items: flex-start; min-height: 547px; padding: 30px; border-radius: 10px; background-size: cover; background-position: center; }
.lo-merkmal-bild .lo-knoepfe { margin: 0; }
.lo-merkmal-text { padding: 10px; }
.lo-merkmal-text .lo-abschnitt-titel { margin-bottom: 40px; }
.lo-merkmal-text p { margin-bottom: 27.2px; font-size: 17px; }
.lo-haken { list-style: none; margin: 0; padding: 0; }
.lo-haken li { display: flex; align-items: center; gap: 8px; }
.lo-haken li::before { content: ""; flex: none; width: 14px; height: 14px; border-radius: 50%; background: var(--lo-rot) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 12.5l4 4 8-9' fill='none' stroke='%23fff' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 10px no-repeat; }

.lo-aufruf { position: relative; display: grid; grid-template-columns: 59% 1fr; padding: 9vw max(45px, (100% - 1350px) / 2); background-size: cover; background-position: center; isolation: isolate; }
.lo-aufruf::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(#8e8e8e 0%, #121112 100%); opacity: .5; }
.lo-aufruf > * { padding: 20px; }
.entry-content .lo-aufruf h2 { font-size: 40px; font-weight: 700; line-height: 1.2; color: #fff; }
.lo-aufruf p { margin-bottom: 28.8px; color: #fff; }
.lo-aufruf .lo-knoepfe { margin: 0; }

@media (max-width: 1024px) {
    .lo-subhero { padding: 9.9vw 0 9.9vw 6vw; }
    .entry-content h1.lo-subhero-titel { font-size: 54px; }
    .lo-seitenintro { grid-template-columns: 1fr 1fr; padding: 30px 20px; }
    .lo-leistungsraster { grid-template-columns: 1fr 1fr; }
    .lo-merkmal { grid-template-columns: 1fr; padding: 80px 20px; }
    .lo-aufruf { grid-template-columns: 1fr; padding: 70px 20px; }
}

@media (max-width: 767px) {
    .lo-subhero { margin-top: 0; padding: 24px 0 73px 20px; min-height: 154px; }
    .entry-content h1.lo-subhero-titel { font-size: 46.8px; }
    .lo-seitenintro { grid-template-columns: 1fr; padding: 10px; }
    .lo-seitenintro-text .lo-ueberzeile { font-size: 14px; }
    .lo-seitenintro-text .lo-h2, .lo-abschnitt-titel { font-size: 24px; line-height: 1.25; }
    .lo-seitenintro-text p { margin-bottom: 25.6px; }
    .lo-seitenintro-text .lo-knoepfe { flex-direction: column; align-items: flex-start; }
    .lo-seitenintro-bild img { min-height: 0; aspect-ratio: 3 / 2; }
    .lo-logoreihe img { height: 34px; }
    .lo-leistungskarten { padding: 70px 10px; }
    .lo-leistungskarten .lo-ueberzeile { font-size: 14px; }
    .lo-leistungskarten .lo-abschnitt-titel { margin-bottom: 30px; }
    .lo-leistungsraster { grid-template-columns: 1fr; gap: 20px; }
    .lo-leistung { padding: 25px 20px; }
    .lo-leistung h3 { font-size: 24px; }
    .lo-leistung-fuss img { width: 92px; height: 92px; }
    .lo-merkmal { display: flex; flex-direction: column-reverse; gap: 30px; padding: 70px 10px; }
    .lo-merkmal-bild { min-height: 422px; }
    .lo-merkmal-text .lo-abschnitt-titel { margin-bottom: 20px; }
    .lo-merkmal-text p { font-size: 16px; margin-bottom: 25.6px; }
    .lo-aufruf { padding: 35px 10px; }
    .lo-aufruf > * { padding: 10px; }
    .entry-content .lo-aufruf h2 { font-size: 26px; }
    .lo-aufruf p { margin-bottom: 25.6px; }
}

.lo-werte { position: relative; padding: 4vw max(45px, (100% - 1350px) / 2) 3vw; background-size: cover; background-position: center; text-align: center; isolation: isolate; }
.lo-werte::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(0, 0, 0, .5); }
.entry-content .lo-werte .lo-abschnitt-titel { max-width: 740px; margin: 0 auto 20px; color: #fff; }
.lo-werte-einleitung { max-width: 810px; margin: 0 auto 28.8px; color: #fff; }
.lo-werteraster { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; padding: 48px 32px; text-align: left; }
.lo-wert { padding: 32px 28px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 20px; background: rgba(17, 19, 21, .42); backdrop-filter: blur(14px) saturate(130%); color: #fff; transition: transform .4s cubic-bezier(.2, .8, .2, 1), background .4s, border-color .4s; }
.lo-wert:hover { transform: translateY(-7px); background: rgba(17, 19, 21, .56); border-color: rgba(255, 255, 255, .28); }
.entry-content .lo-wert h3, .entry-content .lo-vorteil h3 { margin-bottom: 11px; font-size: 21px; font-weight: 600; line-height: 1.2; color: #fff; }
.lo-wert p { font-size: 15.5px; line-height: 1.62; color: rgba(255, 255, 255, .85); }
p.lo-wert-symbol { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; margin-bottom: 22px; border-radius: 50%; background: var(--lo-rot); color: #fff; box-shadow: 0 8px 20px rgba(229, 57, 42, .35); }
p.lo-wert-symbol .lo-symbol { width: 27px; height: 27px; }

.lo-partner { display: grid; grid-template-columns: 1fr 1fr; padding: calc(3vw + 10px) calc(10vw + 10px) 20px; background: #f1f1f1; }
.lo-partner > * { padding: 10px; }
.lo-partner-bild figure { margin: 0; }
.lo-partner-bild img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; border-radius: 18px; }
.lo-partner-text .lo-ueberzeile, .lo-projekte-text .lo-ueberzeile { margin-bottom: 3%; }
.lo-partner-text .lo-abschnitt-titel, .lo-projekte-text .lo-abschnitt-titel { margin-bottom: 3%; }
.lo-partner-text p, .lo-projekte-text p { margin-bottom: 28.8px; }
.lo-partner .lo-logoreihe img { height: 52px; max-width: 150px; }

.lo-team { padding: 4vw 5vw 8vw; background: #fbfbfb; text-align: center; }
.lo-team .lo-abschnitt-titel { margin-bottom: 20px; }
.lo-team-einleitung { max-width: 702px; margin: 0 auto 48px; }
.lo-teamraster { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; text-align: left; }
.lo-person { position: relative; display: flex; flex-direction: column; justify-content: flex-end; aspect-ratio: 417 / 671; border-radius: 20px; overflow: hidden; background-size: cover; background-position: center; }
.lo-person-leiste { min-height: 113px; padding: 10px 20px 20px; border-top: 1px solid rgba(88, 88, 88, .74); border-radius: 0 0 13px 13px; background: rgba(0, 0, 0, .344); }
.entry-content .lo-person h3 { font-size: 30px; font-weight: 700; line-height: 1.3; color: #fff; }
.entry-content p.lo-person-zusatz a { color: #fbfbfb; text-decoration: none; }

.lo-vorteile { padding: 5vw 10px 3vw; background: #f5f5f5; text-align: center; }
.lo-vorteile .lo-abschnitt-titel { margin-bottom: 9px; }
.lo-vorteilraster { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; max-width: 1240px; margin: 0 auto; padding: 48px 32px; text-align: left; }
.lo-vorteil { padding: 30px 26px; border: 1px solid #ececec; border-radius: 20px; background: #fff; box-shadow: 0 10px 28px rgba(20, 23, 26, .06); transition: transform .4s cubic-bezier(.2, .8, .2, 1), box-shadow .4s, border-color .4s; }
.lo-vorteil:hover { transform: translateY(-7px); box-shadow: 0 18px 40px rgba(20, 23, 26, .12); border-color: #e2e2e2; }
.entry-content .lo-vorteil h3 { font-size: 20px; color: var(--lo-schwarz); }
.lo-vorteil p:not(.lo-wert-symbol) { font-size: 15.5px; line-height: 1.62; color: #5f6469; }

.lo-projekte { display: grid; grid-template-columns: 42% 1fr; padding: calc(4vw + 10px) calc(10vw + 10px); }
.lo-projekte > * { padding: 10px; }
.lo-collage { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-content: start; }
.lo-collage figure { margin: 0; }
.lo-collage img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; }

.lo-schritte { max-width: 740px; margin: 0 auto; padding: 64px 32px 72px; }
.lo-schritte .lo-abschnitt-titel { margin-bottom: 48px; text-align: center; }
.lo-ablauf.ist-karten { padding: 0; }
.lo-ablauf.ist-karten .lo-ablauf-schritt { gap: 22px; padding-bottom: 24px; }
.lo-ablauf.ist-karten .lo-ablauf-schritt:last-child { padding-bottom: 0; }
.lo-ablauf.ist-karten .lo-ablauf-spur, .lo-ablauf.ist-karten .lo-ablauf-fuellung { left: 25.5px; }
.lo-ablauf.ist-karten .lo-ablauf-inhalt { padding: 22px 24px; border: 1px solid #ececec; border-radius: 18px; background: #fff; box-shadow: 0 6px 18px rgba(20, 23, 26, .05); transition: border-color .35s, box-shadow .35s; }
.lo-ablauf-kopf { display: flex; align-items: center; gap: 13px; margin-bottom: 8px; }
.lo-ablauf-kopf h3 { margin: 0; }
.lo-ablauf-symbol { display: flex; flex: none; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 12px; background: #fdecea; color: #e5392a; transition: background .35s, color .35s; }
.lo-ablauf-symbol .lo-symbol { width: 22px; height: 22px; }
.lo-ablauf.ist-karten .ist-aktiv .lo-ablauf-inhalt { border-color: #f4cdc7; box-shadow: 0 16px 34px rgba(229, 57, 42, .1); }
.lo-ablauf.ist-karten .ist-aktiv .lo-ablauf-symbol { background: #e5392a; color: #fff; }
.lo-ablauf.ist-karten p { max-width: none; font-size: 16px; }

.lo-stellen { padding: 10px max(45px, (100% - 1350px) / 2) calc(3vw + 10px); text-align: center; }
.lo-stellen .lo-abschnitt-titel { margin-bottom: 60px; }
.lo-stelle { max-width: 420px; margin: 0 auto; padding: 48px 34px; border-radius: 6px; background: #000; color: #fff; }
.entry-content .lo-stelle h3 { margin-bottom: 18px; font-size: 24px; font-weight: 700; line-height: 1.3; color: #fff; }
.lo-stelle p { margin-bottom: 28px; font-size: 16px; color: #fff; }
.lo-stelle .lo-knoepfe { justify-content: center; margin: 0; }

@media (max-width: 1024px) {
    .lo-werteraster, .lo-teamraster { grid-template-columns: 1fr 1fr; }
    .lo-vorteilraster { grid-template-columns: 1fr 1fr; }
    .lo-partner, .lo-projekte { grid-template-columns: 1fr; padding: 40px 20px; }
}

@media (max-width: 767px) {
    .lo-werte { padding: 60px 10px 30px; }
    .lo-werteraster { grid-template-columns: 1fr; gap: 16px; padding: 30px 10px; }
    .lo-wert { padding: 26px 24px; }
    .lo-partner, .lo-projekte { padding: 30px 10px; }
    .lo-team { padding: 60px 10px; }
    .lo-teamraster { grid-template-columns: 1fr; }
    .lo-person { aspect-ratio: 351 / 632; }
    .entry-content .lo-person h3 { font-size: 26px; }
    .lo-vorteile { padding: 60px 10px 20px; }
    .lo-vorteilraster { grid-template-columns: 1fr; gap: 16px; padding: 20px 10px; }
    .lo-schritte { padding: 44px 20px 56px; }
    .lo-ablauf.ist-karten .lo-ablauf-schritt { gap: 14px; }
    .lo-ablauf.ist-karten .lo-ablauf-spur, .lo-ablauf.ist-karten .lo-ablauf-fuellung { left: 21.5px; }
    .lo-ablauf.ist-karten .lo-ablauf-inhalt { padding: 18px 20px; }
}

.lo-ref-intro { padding: calc(2vw + 10px) max(45px, (100% - 1350px) / 2) calc(1vw + 10px); }
.lo-ref-intro .lo-abschnitt-titel { max-width: 800px; margin-bottom: 40px; }
.lo-ref-intro p { max-width: 1060px; }
.lo-projekt { display: grid; grid-template-columns: 1fr 1fr; margin: 0 max(45px, (100% - 1350px) / 2); padding: 3vw 0; }
.lo-projekt-text { padding: 30px 40px 30px 40px; border-radius: 0 12px 12px 0; background: #f5f5f5; }
.lo-projekt.ist-gespiegelt .lo-projekt-text { order: -1; border-radius: 12px 0 0 12px; }
.entry-content .lo-projekt h2 { margin-bottom: 20px; font-size: 34px; font-weight: 700; line-height: 1.25; }
.lo-projekt p { margin-bottom: 24px; }
.lo-projekt .lo-haken li { align-items: flex-start; padding: 4px 0; }
.lo-projekt .lo-haken li::before { margin-top: 7px; }
.lo-galerie-teil { padding: 3vw max(45px, (100% - 1350px) / 2) 5vw; }

.lo-vergleich { position: relative; height: 100%; min-height: 420px; overflow: hidden; border-radius: 12px 0 0 12px; background: #e9e9e9; user-select: none; }
.lo-projekt.ist-gespiegelt .lo-vergleich { border-radius: 0 12px 12px 0; }
.lo-vergleich img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.lo-vergleich-vorher { clip-path: inset(0 calc(100% - var(--lo-teilung)) 0 0); }
.lo-vergleich-regler { position: absolute; inset: 0; width: 100%; height: 100%; margin: 0; opacity: 0; cursor: ew-resize; }
.lo-vergleich-griff { position: absolute; top: 0; bottom: 0; left: var(--lo-teilung); width: 3px; margin-left: -1.5px; background: #fff; pointer-events: none; }
.lo-vergleich-griff .lo-symbol { position: absolute; top: 50%; left: 50%; width: 38px; height: 38px; margin: -19px 0 0 -19px; padding: 9px; border-radius: 50%; background: #fff; color: #000; box-shadow: 0 4px 14px rgba(0, 0, 0, .25); }
.lo-vergleich-marke { position: absolute; top: 14px; padding: 4px 10px; border-radius: 6px; background: rgba(0, 0, 0, .55); font-family: var(--lo-titel); font-size: 13px; color: #fff; pointer-events: none; }
.lo-vergleich-marke.ist-vorher { left: 14px; }
.lo-vergleich-marke.ist-nachher { right: 14px; }

.lo-galerie { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
.lo-galerie-eintrag { display: block; overflow: hidden; border-radius: 6px; aspect-ratio: 3 / 2; }
.lo-galerie-eintrag img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.lo-galerie-eintrag:hover img { transform: scale(1.05); }
.lo-lightbox { position: fixed; inset: 0; z-index: 200; display: flex; align-items: center; justify-content: center; padding: 50px 70px; background: rgba(0, 0, 0, .9); }
.lo-lightbox[hidden] { display: none; }
.lo-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; }
.lo-lightbox button { position: absolute; width: 50px; height: 50px; padding: 0; border: 0; border-radius: 50%; background: rgba(255, 255, 255, .12); font-size: 34px; line-height: 1; color: #fff; cursor: pointer; }
.lo-lightbox button:hover { background: rgba(255, 255, 255, .25); }
.lo-lightbox-zu { top: 16px; right: 16px; }
.lo-lightbox-zurueck { left: 12px; top: calc(50% - 25px); }
.lo-lightbox-weiter { right: 12px; top: calc(50% - 25px); }

@media (max-width: 1024px) {
    .lo-galerie { grid-template-columns: repeat(3, 1fr); }
    .lo-projekt { grid-template-columns: 1fr; margin: 0 20px; }
    .lo-projekt .lo-projekt-text, .lo-projekt.ist-gespiegelt .lo-projekt-text { order: 1; border-radius: 0 0 12px 12px; }
    .lo-vergleich, .lo-projekt.ist-gespiegelt .lo-vergleich { min-height: 0; aspect-ratio: 4 / 3; border-radius: 12px 12px 0 0; }
}

@media (max-width: 767px) {
    .lo-ref-intro { padding: 40px 10px 10px; }
    .lo-ref-intro .lo-abschnitt-titel { margin-bottom: 20px; }
    .lo-projekt { margin: 0 10px; padding: 20px 0; }
    .lo-projekt-text { padding: 24px 20px; }
    .entry-content .lo-projekt h2 { font-size: 24px; }
    .lo-galerie-teil { padding: 30px 10px 60px; }
    .lo-galerie { grid-template-columns: 1fr 1fr; gap: 8px; }
    .lo-lightbox { padding: 60px 10px; }
}

.lo-kontakt-teil { display: grid; grid-template-columns: 65% 35%; padding: 96px max(45px, (100% - 1350px) / 2) 100px; }
.lo-kontakt-formular { padding-right: 50px; }
.lo-kontakt-formular .lo-abschnitt-titel { margin: 26px 0 20px; text-align: center; }
.lo-kontakt-daten { display: flex; flex-direction: column; gap: 30px; padding: 10px; }
.lo-kontaktbox { display: flex; align-items: center; gap: 20px; padding: 25px; border-radius: 16px; background: #fff; box-shadow: 0 0 13px -4px rgba(0, 0, 0, .2); color: var(--lo-text); text-decoration: none; }
p.lo-kontaktbox-symbol { display: flex; flex: none; align-items: center; justify-content: center; width: 52px; height: 52px; margin: 0; border-radius: 14px; background: #fdecea; color: var(--lo-rot); }
p.lo-kontaktbox-symbol .lo-symbol { width: 26px; height: 26px; }
.entry-content .lo-kontaktbox h3 { margin-bottom: 4px; font-size: 24px; font-weight: 700; line-height: 1.2; }
.entry-content .lo-kontaktbox a { color: var(--lo-text); text-decoration: none; }
.entry-content .lo-kontaktbox a:hover { color: var(--lo-rot); }

.lo-formular { max-width: 680px; margin: 0 auto; padding: clamp(26px, 4vw, 44px); border: 1px solid #e7e9ec; border-radius: 24px; background: #fff; box-shadow: 0 18px 46px rgba(20, 23, 26, .08); font-family: 'Hanken Grotesk', var(--lo-fliess); color: #14171a; }
.lo-formular form[hidden], .lo-formular [hidden] { display: none !important; }
.lo-formular fieldset { margin: 0; padding: 0; border: 0; min-width: 0; }
.lo-formular legend { margin-bottom: 6px; padding: 0; font-family: var(--lo-titel); font-size: 22px; font-weight: 600; color: #14171a; }
.lo-formular-hinweis { margin-bottom: 22px; font-size: 15px; color: #5f6469; }
.lo-schritte-leiste { position: relative; display: flex; justify-content: space-between; margin-bottom: 36px; }
.lo-schritte-balken { position: absolute; top: 19px; left: 24px; right: 24px; height: 3px; border-radius: 3px; background: #e7e9ec; }
.lo-schritte-balken i { position: absolute; inset: 0 auto 0 0; width: 0; border-radius: 3px; background: #e5392a; transition: width .4s; }
.lo-schritt-marke { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; gap: 8px; width: 90px; font-size: 12.5px; font-weight: 500; color: #5f6469; }
.lo-schritt-marke b { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border: 3px solid #e7e9ec; border-radius: 50%; background: #fff; font-family: var(--lo-titel); font-size: 15px; font-weight: 600; color: #b6bbc0; transition: all .35s; }
.lo-schritt-marke.ist-aktiv, .lo-schritt-marke.ist-fertig { color: #14171a; }
.lo-schritt-marke.ist-aktiv b, .lo-schritt-marke.ist-fertig b { border-color: #e5392a; background: #e5392a; color: #fff; }
.lo-auswahl { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 20px; }
.lo-auswahl.ist-raster { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.lo-auswahl button { display: flex; align-items: center; gap: 13px; padding: 11px 18px; border: 1.5px solid #e7e9ec; border-radius: 12px; background: #fff; font-family: inherit; font-size: 14.5px; font-weight: 500; color: #14171a; cursor: pointer; transition: border-color .2s, background .2s, color .2s; }
.lo-auswahl.ist-raster button { padding: 16px; border-radius: 14px; font-size: 15.5px; text-align: left; }
.lo-auswahl button:hover { border-color: #cfd4d9; }
.lo-auswahl button.ist-gewaehlt { border-color: #e5392a; background: #fdecea; }
.lo-auswahl:not(.ist-raster) button.ist-gewaehlt { background: #e5392a; color: #fff; }
.lo-auswahl-symbol { display: flex; flex: none; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 11px; background: #fdecea; color: #e5392a; transition: all .25s; }
.lo-auswahl-symbol .lo-symbol { width: 22px; height: 22px; }
.ist-gewaehlt .lo-auswahl-symbol { background: #e5392a; color: #fff; }
.lo-feldname { margin-bottom: 9px; font-size: 13.5px; font-weight: 600; color: #14171a; }
.lo-feldreihe { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
.lo-feld { display: flex; flex-direction: column; gap: 6px; font-size: 13.5px; font-weight: 600; color: #14171a; }
.lo-feld.ist-breit { grid-column: 1 / -1; }
.lo-feld input, .lo-feld textarea { width: 100%; padding: 13px 15px; border: 1px solid #dcdfe3; border-radius: 12px; background: #fff; font-family: inherit; font-size: 15.5px; font-weight: 400; color: #14171a; transition: border-color .2s, box-shadow .2s; }
.lo-feld input:focus, .lo-feld textarea:focus { outline: none; border-color: #e5392a; box-shadow: 0 0 0 3px rgba(229, 57, 42, .14); }
.lo-feld textarea { min-height: 110px; resize: vertical; }
.lo-einwilligung { display: flex; align-items: flex-start; gap: 10px; margin: 8px 0 4px; font-size: 14px; line-height: 1.5; color: #5f6469; }
.lo-einwilligung input { margin-top: 3px; accent-color: #e5392a; }
.lo-einwilligung a { color: #e5392a; }
.lo-falle { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.lo-formular-fehler { margin-top: 16px; padding: 10px 14px; border-radius: 10px; background: #fdecea; font-size: 14px; color: #b3261b; }
.lo-formular-navigation { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-top: 30px; }
.lo-formular-navigation button { display: inline-flex; align-items: center; gap: 9px; padding: 14px 26px; border: 0; border-radius: 13px; font-family: var(--lo-titel); font-size: 16px; font-weight: 600; cursor: pointer; transition: all .3s; }
.lo-formular-navigation .lo-symbol { width: 18px; height: 18px; }
.lo-formular-zurueck { background: #f2f3f5; color: #14171a; }
.lo-formular-zurueck:hover { background: #e8eaed; }
.lo-formular-weiter, .lo-formular-senden { margin-left: auto; background: #e5392a; color: #fff; box-shadow: 0 12px 26px rgba(229, 57, 42, .3); }
.lo-formular-weiter:hover, .lo-formular-senden:hover { background: #cf3122; transform: translateY(-2px); }
.lo-formular-navigation button[disabled] { opacity: .6; cursor: default; transform: none; }
.lo-formular-klein { margin-top: 18px; font-size: 13px; color: #8a8f94; }
.lo-formular-fertig { padding: 18px 0; text-align: center; }
.lo-formular-haken { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 18px; border-radius: 50%; background: #fdecea; color: #e5392a; }
.lo-formular-haken .lo-symbol { width: 32px; height: 32px; }
.lo-formular-fertig h3 { margin-bottom: 8px; font-size: 22px; font-weight: 600; }
.lo-formular-fertig p { font-size: 15px; color: #5f6469; }

.lo-karte-einbettung { overflow: hidden; border-radius: 16px; background: #f1f1f1; aspect-ratio: 4 / 3; }
.lo-karte-einbettung iframe { display: block; width: 100%; height: 100%; border: 0; }

.lo-stellenanzeige { max-width: 900px; margin: 0 auto; padding: 60px 20px 90px; }
.lo-anzeige { padding: clamp(26px, 4vw, 50px); border: 1px solid #ececec; border-radius: 24px; background: #fff; box-shadow: 0 18px 46px rgba(20, 23, 26, .08); }
p.lo-anzeige-marke { display: inline-block; margin-bottom: 14px; padding: 5px 12px; border-radius: 30px; background: #fdecea; font-size: 13px; font-weight: 600; color: #e5392a; }
.entry-content .lo-anzeige h2 { margin-bottom: 16px; font-size: 38px; font-weight: 700; line-height: 1.15; }
.lo-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; padding: 0; list-style: none; }
.lo-chips li { padding: 6px 13px; border-radius: 30px; background: #f2f3f5; font-size: 14px; color: #14171a; }
.lo-chips li::before { content: "•"; margin-right: 6px; color: #e5392a; }
.entry-content .lo-anzeige h3 { margin: 34px 0 14px; font-size: 22px; font-weight: 600; }
.lo-anzeige .lo-haken li { padding: 3px 0; }
.lo-anzeige-trenner { height: 1px; margin: 40px 0; background: #ececec; }

@media (max-width: 1024px) {
    .lo-kontakt-teil { grid-template-columns: 1fr; gap: 40px; padding: 60px 20px; }
    .lo-kontakt-formular { padding-right: 0; }
}

@media (max-width: 767px) {
    .lo-kontakt-teil { padding: 40px 10px 60px; }
    .lo-kontakt-daten { padding: 0; gap: 16px; }
    .lo-auswahl.ist-raster, .lo-feldreihe { grid-template-columns: 1fr; }
    .lo-schritt-marke { width: 64px; font-size: 11px; }
    .entry-content .lo-anzeige h2 { font-size: 28px; }
    .lo-stellenanzeige { padding: 30px 10px 60px; }
}

.lo-rechner.ist-seite { padding-top: 60px; padding-bottom: 80px; }
.lo-rechner.ist-seite iframe { height: 1000px; }

.lo-anzeige .lo-formular { max-width: none; padding: 0; border: 0; box-shadow: none; }

.lo-rechtstext { max-width: 1000px; margin: 95px auto 0; padding: 60px 20px 100px; }
.entry-content .lo-rechtstext h1 { margin-bottom: 40px; font-size: 54px; font-weight: 700; line-height: 1.15; }
.entry-content .lo-rechtstext h2 { margin: 44px 0 16px; font-size: 30px; font-weight: 700; line-height: 1.25; }
.entry-content .lo-rechtstext h3 { margin: 30px 0 12px; font-size: 22px; font-weight: 600; line-height: 1.3; }
.entry-content .lo-rechtstext h4 { margin: 22px 0 10px; font-size: 18px; font-weight: 600; }
.lo-rechtstext p, .lo-rechtstext ul { margin-bottom: 16px; overflow-wrap: anywhere; }
.lo-rechtstext ul { padding-left: 22px; }
.entry-content .lo-rechtstext a { color: var(--lo-rot); text-decoration: underline; }

@media (max-width: 767px) {
    .lo-rechtstext { margin-top: 0; padding: 40px 16px 60px; }
    .entry-content .lo-rechtstext h1 { font-size: 34px; }
    .entry-content .lo-rechtstext h2 { font-size: 24px; }
    .entry-content .lo-rechtstext h3 { font-size: 20px; }
}

@media (min-width: 1025px) {
    body:not(.home) .lo-kopf-logo img { width: 34%; }
}

.lo-seitenintro > * { min-width: 0; }
.lo-logoreihe.ist-laufband { display: block; align-self: stretch; overflow: hidden; width: 100%; max-width: 100%; min-width: 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); mask-image: linear-gradient(90deg, transparent, #000 12%, #000 88%, transparent); }
.lo-laufband-spur { display: flex; align-items: center; gap: 44px; width: max-content; animation: lo-laufband 22s linear infinite; }
.lo-laufband-spur figure { flex: none; }
.lo-logoreihe.ist-laufband:hover .lo-laufband-spur { animation-play-state: paused; }
@keyframes lo-laufband { to { transform: translateX(calc(-50% - 22px)); } }

@media (prefers-reduced-motion: reduce) {
    .lo-laufband-spur { animation: none; flex-wrap: wrap; width: auto; }
}
