/* ===================================
    LuilMomo GmbH, Variante auf Basis Crafto "IT business"
====================================== */
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 400; font-display: swap; src: url('../fonts/plus-jakarta-sans-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 500; font-display: swap; src: url('../fonts/plus-jakarta-sans-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 600; font-display: swap; src: url('../fonts/plus-jakarta-sans-latin-600-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 700; font-display: swap; src: url('../fonts/plus-jakarta-sans-latin-700-normal.woff2') format('woff2'); }
@font-face { font-family: 'Plus Jakarta Sans'; font-style: normal; font-weight: 800; font-display: swap; src: url('../fonts/plus-jakarta-sans-latin-800-normal.woff2') format('woff2'); }

:root {
    --base-color: #d93d0a;          /* CI-Orange, minimal abgedunkelt für weisse Schrift */
    --lm-orange: #e4400b;           /* CI-Orange für Flächen und Linien */
    --dark-gray: #23435c;           /* CI-Navy */
    --lm-navy-dark: #1a3346;
    --lm-navy-deep: #12283a;
    --black: #0f1f2c;
    --medium-gray: #56636e;
    --extra-medium-gray: #dfe5ea;
    --very-light-gray: #f1f4f7;
    --lm-sand: #fbf1ec;
    --primary-font: 'Plus Jakarta Sans', sans-serif;
    --alt-font: 'Plus Jakarta Sans', sans-serif;
}
body { color: var(--medium-gray); font-size: 17px; line-height: 29px; }
a { color: var(--dark-gray); }
a:hover { color: var(--base-color); }
::selection { background: var(--lm-orange); color: #fff; }
.text-orange { color: var(--lm-orange) !important; }
.text-white-soft { color: #d9e2ea !important; }
.bg-navy-deep { background-color: var(--lm-navy-deep) !important; }
.bg-sand { background-color: var(--lm-sand) !important; }

/* header */
header .navbar-brand { display: inline-flex; align-items: center; gap: 12px; }
header .navbar-brand img { max-height: 52px !important; width: 52px; }
.lm-wordmark { font-weight: 800; font-size: 21px; letter-spacing: -0.3px; line-height: 1.1; color: var(--dark-gray); }
.lm-wordmark small { display: block; font-size: 11px; font-weight: 600; letter-spacing: 1.4px; text-transform: uppercase; opacity: .75; margin-top: 3px; }
@media (min-width: 992px) {
    header .header-transparent .lm-wordmark { color: #fff; }
    header.sticky .header-transparent .lm-wordmark { color: var(--dark-gray); }
}
.navbar .navbar-nav .nav-link { font-weight: 500; }
header .header-button .btn { white-space: nowrap; }

/* buttons */
.btn { text-transform: none; letter-spacing: 0; font-weight: 600; }
.btn-gradient-lm { background-image: linear-gradient(to right, #23435c, #d93d0a, #23435c); background-size: 200% auto; color: #fff; border: 0; }
.btn-gradient-lm:hover, .btn-gradient-lm:focus { background-position: right center; color: #fff; }
.btn.btn-transparent-white-light:hover { color: var(--dark-gray); }

/* pills */
.lm-pill { display: inline-flex; align-items: center; gap: 10px; padding: 7px 22px; border-radius: 100px; font-size: 12px; line-height: 20px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; }
.lm-pill.on-dark { color: #fff; background: linear-gradient(to right, rgba(255,255,255,.14), rgba(255,255,255,0)); }
.lm-pill.on-light { color: #b83207; background: linear-gradient(to right, #fbe6dc, rgba(255,255,255,0)); }
.lm-pill i { font-size: 15px; }

/* hero */
.lm-hero { position: relative; overflow: hidden; background-color: var(--dark-gray); padding: 190px 0 170px; }
.lm-hero::before { content: ""; position: absolute; inset: 0; background:
    radial-gradient(circle at 82% 38%, rgba(228,64,11,.20) 0, rgba(228,64,11,0) 34%),
    radial-gradient(circle at 10% 90%, rgba(18,40,58,.75) 0, rgba(18,40,58,0) 45%); pointer-events: none; }
.lm-hero .ring { position: absolute; border-radius: 50%; pointer-events: none; }
.lm-hero .ring.r1 { width: 760px; height: 760px; right: -220px; top: -180px; border: 2px solid rgba(255,255,255,.08); }
.lm-hero .ring.r2 { width: 520px; height: 520px; right: -100px; top: -60px; border: 2px solid rgba(228,64,11,.25); }
.lm-hero h1 { color: #fff; font-size: 66px; line-height: 72px; font-weight: 700; letter-spacing: -2.5px; margin-bottom: 25px; }
.lm-hero .lead-text { color: #d9e2ea; font-size: 20px; line-height: 33px; font-weight: 400; }
.lm-hero-figure { position: relative; max-width: 440px; margin-left: auto; }
.lm-hero-figure img { width: 100%; display: block; filter: drop-shadow(0 30px 50px rgba(0,0,0,.35)); }
.lm-hero-badge { position: absolute; left: -40px; bottom: 60px; background: #fff; border-radius: 10px; padding: 16px 20px; box-shadow: 0 20px 45px rgba(0,0,0,.25); display: flex; gap: 14px; align-items: center; }
.lm-hero-badge .n { font-size: 34px; line-height: 1; font-weight: 800; color: var(--dark-gray); letter-spacing: -1px; }
.lm-hero-badge .t { font-size: 14px; line-height: 19px; color: var(--medium-gray); font-weight: 500; }
.lm-hero .shape-image-animation { z-index: 1; }

/* facts */
.lm-fact-icon { width: 64px; height: 64px; flex: 0 0 64px; border-radius: 50%; background: var(--lm-sand); color: var(--base-color); display: flex; align-items: center; justify-content: center; font-size: 26px; }

/* FDE block */
.lm-photo { position: relative; max-width: 470px; }
.lm-photo img { border-radius: 8px; width: 100%; display: block; }
.lm-photo .tag { position: absolute; right: -24px; bottom: 40px; background: var(--dark-gray); color: #fff; border-radius: 8px; padding: 18px 22px; box-shadow: 0 20px 45px rgba(35,67,92,.3); max-width: 230px; }
.lm-photo .tag strong { display: block; font-size: 17px; line-height: 23px; }
.lm-photo .tag span { font-size: 14px; line-height: 20px; color: #d9e2ea; }
.lm-steps { list-style: none; padding: 0; margin: 0; }
.lm-steps li { display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid var(--extra-medium-gray); }
.lm-steps li:last-child { border-bottom: 1px solid var(--extra-medium-gray); }
.lm-steps .no { flex: 0 0 40px; height: 40px; border-radius: 50%; background: var(--dark-gray); color: #fff; font-weight: 700; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.lm-steps h4 { font-size: 18px; line-height: 24px; font-weight: 700; margin: 0 0 4px; color: var(--dark-gray); }
.lm-steps p { margin: 0; font-size: 16px; line-height: 26px; }

/* clients */
.lm-clients { display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--extra-medium-gray); border-left: 1px solid var(--extra-medium-gray); }
.lm-clients div { border-right: 1px solid var(--extra-medium-gray); border-bottom: 1px solid var(--extra-medium-gray); padding: 16px 10px; height: 96px; display: flex; align-items: center; justify-content: center; background: #fff; }
.lm-clients img { max-width: 100%; height: auto; filter: grayscale(1); opacity: .6; transition: filter .3s ease, opacity .3s ease; }
.lm-clients div:hover img { filter: none; opacity: 1; }

/* services */
.lm-service { background: #fff; border-radius: 8px; overflow: hidden; height: 100%; display: flex; flex-direction: column; box-shadow: 0 10px 30px rgba(35,67,92,.06); transition: transform .3s ease, box-shadow .3s ease; }
.lm-service:hover { transform: translateY(-5px); box-shadow: 0 25px 50px rgba(35,67,92,.14); }
.lm-service .top { background: var(--dark-gray); padding: 34px 34px 30px; position: relative; overflow: hidden; }
.lm-service .top::after { content: ""; position: absolute; right: -50px; top: -50px; width: 170px; height: 170px; border-radius: 50%; border: 14px solid rgba(228,64,11,.35); }
.lm-service .top i { font-size: 38px; color: #fff; }
.lm-service .top .label { position: absolute; right: 26px; bottom: 24px; z-index: 1; }
.lm-service .body { padding: 30px 34px; flex: 1 1 auto; }
.lm-service h3 { font-size: 22px; line-height: 30px; font-weight: 700; margin-bottom: 12px; color: var(--dark-gray); }
.lm-service .foot { border-top: 1px solid var(--extra-medium-gray); padding: 18px 34px; display: flex; flex-wrap: wrap; gap: 8px; }
.lm-tag { font-size: 13px; line-height: 18px; font-weight: 600; background: var(--very-light-gray); color: var(--dark-gray); padding: 6px 11px; border-radius: 30px; }

/* industries */
.lm-industries { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: 1px solid rgba(255,255,255,.12); border-left: 1px solid rgba(255,255,255,.12); }
.lm-industries .cell { border-right: 1px solid rgba(255,255,255,.12); border-bottom: 1px solid rgba(255,255,255,.12); padding: 38px 14px; text-align: center; color: #fff; transition: background .3s ease; }
.lm-industries .cell:hover { background: var(--base-color); }
.lm-industries .cell i { font-size: 40px; display: block; margin-bottom: 14px; }
.lm-industries .cell span { font-size: 13px; line-height: 19px; font-weight: 700; letter-spacing: .8px; text-transform: uppercase; }

/* testimonial and partners */
.lm-quote-mark { font-size: 64px; line-height: 1; color: var(--lm-orange); }
.lm-quote-text { font-size: 30px; line-height: 42px; font-weight: 600; color: var(--dark-gray); letter-spacing: -0.6px; }
.lm-partner { background: #fff; border-radius: 8px; box-shadow: 0 15px 40px rgba(35,67,92,.08); text-align: center; height: 100%; transition: box-shadow .3s ease; }
.lm-partner:hover { box-shadow: 0 25px 55px rgba(35,67,92,.16); }
.lm-partner .nm { padding: 34px 10px; font-size: 21px; font-weight: 800; color: var(--dark-gray); letter-spacing: -0.3px; }

/* team */
.lm-person { background: #fff; border-radius: 8px; overflow: hidden; height: 100%; box-shadow: 0 15px 40px rgba(35,67,92,.08); display: flex; flex-direction: column; }
.lm-person .pic { aspect-ratio: 4 / 4.3; overflow: hidden; background: var(--very-light-gray); }
.lm-person .pic img { width: 100%; height: 100%; object-fit: cover; object-position: center 20%; display: block; }
.lm-person .info { padding: 26px 28px 30px; }
.lm-person .name { font-size: 20px; line-height: 26px; font-weight: 800; color: var(--dark-gray); }
.lm-person .role { font-size: 14px; line-height: 20px; font-weight: 700; color: #b83207; margin: 3px 0 10px; text-transform: uppercase; letter-spacing: .6px; }
.lm-person p { font-size: 15px; line-height: 25px; margin: 0; }
.lm-person.small-pic .pic { display: flex; align-items: center; justify-content: center; }
.lm-person.small-pic .pic img { width: 150px; height: 150px; border-radius: 50%; border: 6px solid #fff; box-shadow: 0 10px 30px rgba(35,67,92,.15); }
.lm-person.join { border: 2px dashed #c9d3db; box-shadow: none; background: transparent; }
.lm-person.join .pic { background: transparent; display: flex; align-items: center; justify-content: center; }
.lm-person.join .plus { width: 150px; height: 150px; border-radius: 50%; background: var(--lm-sand); color: var(--base-color); display: flex; align-items: center; justify-content: center; font-size: 54px; }
.lm-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; line-height: 20px; font-weight: 600; color: var(--dark-gray); background: #fff; border: 1px solid var(--extra-medium-gray); padding: 6px 13px; border-radius: 30px; }

/* careers */
.lm-value { background: #fff; border-radius: 8px; padding: 30px; height: 100%; }
.lm-value i { font-size: 30px; color: var(--base-color); display: block; margin-bottom: 14px; }
.lm-value h3 { font-size: 20px; line-height: 27px; font-weight: 700; margin-bottom: 8px; color: var(--dark-gray); }
.lm-value p { margin: 0; font-size: 16px; line-height: 27px; }
.lm-espresso { background: var(--dark-gray); border-radius: 8px; padding: 44px; color: #fff; position: relative; overflow: hidden; }
.lm-espresso::after { content: ""; position: absolute; right: -80px; bottom: -80px; width: 260px; height: 260px; border-radius: 50%; border: 18px solid rgba(228,64,11,.3); }
.lm-espresso ul { padding: 0; list-style: none; margin: 0; }
.lm-espresso li { display: flex; gap: 12px; color: #d9e2ea; margin-bottom: 8px; line-height: 26px; }
.lm-espresso li i { color: var(--lm-orange); }
.lm-espresso > .row { position: relative; z-index: 1; }

/* contact cta */
.lm-cta { position: relative; overflow: hidden; background: var(--lm-navy-deep); padding: 200px 0 150px; }
.lm-cta .shape-top { position: absolute; top: -1px; left: 0; width: 100%; height: 120px; line-height: 0; }
.lm-cta .shape-top svg { width: 100%; height: 100%; display: block; }
.lm-cta h2 { color: #fff; font-size: 56px; line-height: 62px; font-weight: 700; letter-spacing: -2px; }
.lm-contact-line { display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 36px; color: #d9e2ea; }
.lm-contact-line a { color: #fff; }
.lm-contact-line a:hover { color: #ffd2c2; }
.lm-contact-line i { color: var(--lm-orange); margin-right: 8px; }

/* footer */
footer.lm-footer { background: #fff; }
footer.lm-footer .footer-logo img { max-height: none; width: 60px; height: 60px; }
footer.lm-footer .lm-wordmark { color: var(--dark-gray); }

/* legal pages */
.lm-legal h1 { font-size: 46px; line-height: 54px; font-weight: 700; letter-spacing: -1.5px; color: var(--dark-gray); }
.lm-legal h2 { font-size: 22px; line-height: 30px; font-weight: 700; margin: 36px 0 10px; color: var(--dark-gray); }
.lm-legal p, .lm-legal li { font-size: 17px; line-height: 29px; }
.lm-subhero { background: var(--dark-gray); padding: 170px 0 70px; }
.lm-subhero h1 { color: #fff; font-size: 52px; line-height: 60px; font-weight: 700; letter-spacing: -1.5px; margin: 0; }

.section-title { font-size: 46px; line-height: 54px; font-weight: 700; letter-spacing: -2px; color: var(--dark-gray); }
.lm-skip { position: absolute; left: -9999px; top: 0; z-index: 9999; background: var(--dark-gray); color: #fff; padding: 10px 16px; }
.lm-skip:focus { left: 10px; top: 10px; color: #fff; }

@media (max-width: 1199px) {
    .lm-hero h1 { font-size: 54px; line-height: 60px; }
    .lm-clients { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .lm-industries { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .lm-photo .tag { right: 10px; }
}
@media (max-width: 991px) {
    .lm-hero { padding: 140px 0 120px; }
    .lm-hero h1 { font-size: 44px; line-height: 50px; letter-spacing: -1.5px; }
    .lm-hero-figure { margin: 50px auto 0; max-width: 360px; }
    .lm-hero-badge { left: 0; bottom: 30px; }
    .section-title { font-size: 38px; line-height: 46px; letter-spacing: -1.2px; }
    .lm-cta { padding: 150px 0 110px; }
    .lm-cta h2 { font-size: 42px; line-height: 50px; }
    .lm-subhero { padding: 130px 0 50px; }
}
@media (max-width: 767px) {
    .lm-hero { padding: 120px 0 80px; }
    .lm-hero h1 { font-size: 36px; line-height: 42px; letter-spacing: -1px; }
    .lm-hero .lead-text { font-size: 18px; line-height: 29px; }
    .lm-hero-figure { max-width: 300px; }
    .lm-hero-badge { padding: 12px 14px; }
    .lm-hero-badge .n { font-size: 26px; }
    .section-title { font-size: 31px; line-height: 39px; letter-spacing: -0.8px; }
    .lm-clients { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lm-industries { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lm-quote-text { font-size: 23px; line-height: 33px; }
    .lm-espresso { padding: 32px 24px; }
    .lm-cta { padding: 110px 0 80px; }
    .lm-cta h2 { font-size: 32px; line-height: 40px; letter-spacing: -1px; }
    .lm-photo .tag { position: static; margin-top: 14px; max-width: none; }
    .lm-subhero h1 { font-size: 36px; line-height: 44px; }
    .lm-legal h1 { font-size: 34px; line-height: 42px; }
    .lm-wordmark small { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .lm-service, .lm-service:hover { transition: none; transform: none; }
}

/* Team-Karten: gleiche Bildhöhe */
.lm-person.small-pic .pic, .lm-person.join .pic { aspect-ratio: auto; height: 230px; }
header .navbar .navbar-nav .nav-item.active > .nav-link,
header .navbar .navbar-nav .nav-link.active,
header .navbar .navbar-nav .nav-link:hover { color: var(--base-color) !important; opacity: 1 !important; }

/* Kontaktseite */
.lm-pagetitle { position: relative; overflow: hidden; background-color: var(--dark-gray); padding: 190px 0 200px; }
.lm-pagetitle::before { content: ""; position: absolute; inset: 0; background:
    radial-gradient(circle at 82% 30%, rgba(228,64,11,.20) 0, rgba(228,64,11,0) 34%),
    radial-gradient(circle at 10% 90%, rgba(18,40,58,.75) 0, rgba(18,40,58,0) 45%); pointer-events: none; }
.lm-pagetitle .ring { position: absolute; border-radius: 50%; pointer-events: none; }
.lm-pagetitle .ring.r1 { width: 640px; height: 640px; right: -240px; top: -260px; border: 2px solid rgba(255,255,255,.08); }
.lm-pagetitle .ring.r2 { width: 420px; height: 420px; left: -180px; bottom: -220px; border: 2px solid rgba(228,64,11,.25); }
.lm-pagetitle h1 { color: #fff; font-size: 76px; line-height: 80px; font-weight: 700; letter-spacing: -2.5px; margin: 0 0 18px; }
.lm-pagetitle p { color: #d9e2ea; font-size: 19px; line-height: 30px; margin: 0; }
.lm-pagetitle .shape-image-animation { z-index: 1; }
.lm-title-md { font-size: 40px; line-height: 48px; letter-spacing: -1.5px; }
.lm-loc { transition: transform .3s ease, box-shadow .3s ease; }
.lm-loc:hover { transform: translateY(-4px); box-shadow: 0 25px 60px rgba(35,67,92,.14) !important; }
.lm-loc-visual { position: relative; overflow: hidden; height: 100%; min-height: 230px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; color: #fff; }
.lm-loc-visual i { font-size: 46px; line-height: 1; position: relative; z-index: 1; }
.lm-loc-visual span { position: relative; z-index: 1; font-size: 12px; line-height: 18px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; opacity: .85; }
.lm-loc-visual::after { content: ""; position: absolute; right: -60px; top: -60px; width: 190px; height: 190px; border-radius: 50%; border: 16px solid rgba(228,64,11,.35); }
.lm-loc-visual.v1 { background: var(--dark-gray); }
.lm-loc-visual.v2 { background: var(--lm-navy-deep); }
.lm-loc-visual.v2::after { left: -60px; right: auto; top: auto; bottom: -60px; }
.lm-loc-visual.v3 { background: var(--lm-sand); color: var(--base-color); }
.lm-loc-visual.v3::after { border-color: rgba(35,67,92,.10); }
.lm-loc-title { font-size: 20px; line-height: 26px; font-weight: 700; color: var(--dark-gray); margin-bottom: 10px; }
.lm-loc p { margin-bottom: 12px; }
#formular { scroll-margin-top: 80px; }
.contact-form-style-03 .form-control { color: var(--dark-gray); }
.contact-form-style-03 .form-control::placeholder { color: #8a96a1; }
.form-results.alert { font-size: 15px; line-height: 22px; padding: 12px 16px; border-radius: 6px; margin: 0; }
.lm-hp { position: absolute !important; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 991px) {
    .lm-pagetitle { padding: 140px 0 130px; }
    .lm-pagetitle h1 { font-size: 56px; line-height: 62px; }
    .lm-title-md { font-size: 34px; line-height: 42px; }
}
@media (max-width: 767px) {
    .lm-pagetitle { padding: 120px 0 60px; }
    .lm-pagetitle h1 { font-size: 42px; line-height: 48px; letter-spacing: -1.2px; }
    .lm-title-md { font-size: 30px; line-height: 38px; letter-spacing: -0.8px; }
    .lm-loc-visual { min-height: 150px; }
}
@media (prefers-reduced-motion: reduce) {
    .lm-loc, .lm-loc:hover { transition: none; transform: none; }
}

/* ===================================
   Ruhigere Linie (Okt. 2026): echtes Foto statt Effekte,
   keine Verläufe, Leuchten, Ringe oder Wellen
====================================== */
header .navbar { min-height: 84px; box-shadow: 0 1px 0 var(--extra-medium-gray); }
header .navbar .lm-wordmark { color: var(--dark-gray); }
header .header-button .btn { padding: 12px 22px; }

/* Buttons: eine Farbe, kein Verlauf */
.btn-gradient-lm { background-image: none !important; background-color: var(--base-color); color: #fff; border: 0; }
.btn-gradient-lm:hover, .btn-gradient-lm:focus { background-color: #b83207; color: #fff; }
.lm-textlink { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: #fff; border-bottom: 1px solid rgba(255,255,255,.45); padding-bottom: 2px; }
.lm-textlink:hover { color: #fff; border-bottom-color: #fff; }
.lm-textlink i { font-size: 14px; transition: transform .2s ease; }
.lm-textlink:hover i { transform: translateX(3px); }

/* Labels über Titeln: Strich plus Text statt Pillen */
.lm-pill { background: none !important; padding: 0; border-radius: 0; gap: 12px; font-size: 13px; letter-spacing: 1.6px; }
.lm-pill::before { content: ""; width: 28px; height: 2px; background: var(--lm-orange); flex: 0 0 28px; }
.lm-pill.on-dark { color: #fff; }
.lm-pill.on-light { color: #b83207; }
.lm-pill i { display: none; }

/* Dekoration entfernt */
.lm-service .top::after, .lm-espresso::after, .lm-loc-visual::after,
.lm-pagetitle::before, .lm-pagetitle .ring { display: none !important; }

/* Hero: Text links, echtes Bühnenfoto rechts */
.lm-hero2 { padding: 0 !important; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); min-height: min(calc(100vh - 84px), 760px); background: var(--dark-gray); }
.lm-hero2-text { display: flex; align-items: center; padding: 80px 60px 80px max(24px, calc((100vw - 1320px) / 2 + 12px)); }
.lm-hero2-inner { max-width: 560px; }
.lm-hero2 h1 { color: #fff; font-size: 58px; line-height: 64px; font-weight: 700; letter-spacing: -2px; margin-bottom: 24px; }
.lm-hero2 .lead-text { color: #d9e2ea; font-size: 19px; line-height: 31px; margin-bottom: 36px; }
.lm-hero2-photo { position: relative; margin: 0; min-height: 420px; overflow: hidden; background: #1b1712; }
.lm-hero2-photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 78% 30%; display: block; }
.lm-hero2-photo figcaption { position: absolute; left: 0; bottom: 0; max-width: 100%; background: rgba(15,31,44,.78); color: #e6ecf1; font-size: 13px; line-height: 19px; padding: 9px 16px; }

/* Unterseiten ohne Überblendung unter dem Header */
.lm-subhero { padding: 70px 0 60px; }
.lm-pagetitle { padding: 90px 0 100px; }

@media (max-width: 1199px) {
    .lm-hero2 h1 { font-size: 46px; line-height: 52px; letter-spacing: -1.5px; }
    .lm-hero2-text { padding: 60px 40px 60px 24px; }
}
@media (max-width: 991px) {
    .lm-hero2 { grid-template-columns: 1fr; min-height: 0; }
    .lm-hero2-photo { order: -1; min-height: 0; aspect-ratio: 4 / 3; }
    .lm-hero2-text { padding: 50px 24px 60px; }
    .lm-hero2-inner { max-width: 640px; }
    .lm-pagetitle { padding: 60px 0 70px; }
    .lm-subhero { padding: 50px 0 40px; }
}
@media (max-width: 767px) {
    .lm-hero2 h1 { font-size: 36px; line-height: 42px; letter-spacing: -1px; }
    .lm-hero2 .lead-text { font-size: 17px; line-height: 28px; }
    .lm-hero2-photo { aspect-ratio: 5 / 4; }
    .lm-hero2-photo img { object-position: 72% 25%; }
    .lm-hero2-photo figcaption { font-size: 12px; padding: 7px 12px; }
}

/* Kontakt-Einblendung (Crafto subscribe-popup) */
.lm-popup .lm-popup-pic { width: 110px; height: 110px; border-radius: 50%; object-fit: cover; border: 5px solid #fff; box-shadow: 0 10px 30px rgba(35,67,92,.18); }
.lm-popup .lm-popup-title { font-size: 30px; line-height: 37px; font-weight: 500; letter-spacing: -1px; color: var(--dark-gray); margin-bottom: 20px; }
.lm-popup .lm-popup-title span { font-weight: 800; display: block; }
.lm-popup .lm-popup-list { list-style: none; padding: 0; margin: 0; }
.lm-popup .lm-popup-list li { display: flex; gap: 14px; align-items: flex-start; color: var(--dark-gray); font-size: 16px; line-height: 25px; margin-bottom: 10px; }
.lm-popup .lm-popup-list i { color: var(--base-color); font-size: 20px; line-height: 25px; flex: 0 0 20px; }
.lm-popup .mfp-close-btn { display: block; }
@media (max-width: 575px) { .lm-popup .lm-popup-title { font-size: 25px; line-height: 31px; } }


/* ---------- FAQ (Okt. 2026) ---------- */
.lm-faq details { border-bottom: 1px solid rgba(35,67,92,.16); }
.lm-faq details:first-child { border-top: 1px solid rgba(35,67,92,.16); }
.lm-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; padding: 22px 0; font-size: 19px; line-height: 28px; font-weight: 700; color: var(--dark-gray); }
.lm-faq summary::-webkit-details-marker { display: none; }
.lm-faq summary::after { content: "+"; flex: 0 0 auto; font-weight: 400; font-size: 28px; line-height: 28px; color: var(--lm-orange); transition: transform .2s ease; }
.lm-faq details[open] summary::after { transform: rotate(45deg); }
.lm-faq summary:focus-visible { outline: 2px solid var(--lm-orange); outline-offset: 4px; border-radius: 2px; }
.lm-faq details p { margin: 0 0 24px; max-width: 680px; }
@media (max-width: 767px) { .lm-faq summary { font-size: 17px; line-height: 26px; padding: 18px 0; } }
.navbar .navbar-nav .nav-link { white-space: nowrap; }
@media (min-width: 992px) and (max-width: 1299px) { .navbar .navbar-nav .nav-link { padding-left: 11px !important; padding-right: 11px !important; font-size: 16px; } }
@media (min-width: 992px) and (max-width: 1199px) { .navbar .navbar-nav .nav-link { padding-left: 7px !important; padding-right: 7px !important; font-size: 15px; } }
