/* Deliberate improvements on the retained v17 design and Bootstrap grid. */
:root{--a:#236746;--t:#163d2d;--m:#496256;--soft:#f0f6f1;--b:#dbe6dc;--sh:0 8px 24px rgba(20,49,38,.035)}
body{font-size:16px;line-height:1.65;background:#fbfdfb}
.d-flex.gap-2{gap:10px}.row.g-4{row-gap:24px}
html{scroll-padding-top:100px}
section[id]{scroll-margin-top:0}
a{text-underline-offset:3px}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9b600e;outline-offset:4px;box-shadow:none!important}
.bp-skip{position:fixed;left:12px;top:8px;z-index:2000;background:#fff;padding:12px 18px;border:2px solid var(--t);transform:translateY(-150%)}
.bp-skip:focus{transform:translateY(0)}
.bp-wordmark{display:block;width:245px;max-width:100%;height:auto}
.bp-nav .inner{min-height:82px;gap:20px}
.bp-nav .brand{max-width:44%}
.bp-nav .bp-menu{gap:20px}
.bp-menu a{display:inline-flex;align-items:center;min-height:44px;font-size:.9rem}
.bp-menu-toggle{display:none;align-items:center;gap:12px;min-width:92px;min-height:46px;background:#fff;color:var(--t);border:1px solid #8da99a;border-radius:10px;font-weight:650;padding:8px 12px}
.bp-menu-toggle[hidden]{display:none}
.bp-hero{padding:36px 0 48px;background:#edf4ee}
.bp-hero-card{padding:30px;border-radius:20px;box-shadow:none}
.bp-badge{background:transparent;border:0;padding:0;font-size:.83rem;font-weight:650;letter-spacing:.045em;text-transform:uppercase;line-height:1.5}
.bp-hero h1{font-size:clamp(2rem,3.4vw,3rem);font-weight:750;max-width:22ch;line-height:1.1}
.bp-hero .lead{font-size:1.08rem;line-height:1.65;margin-bottom:16px!important}
.bp-qualification{display:flex;align-items:center;gap:8px;color:var(--t);font-size:.9rem;font-weight:600;margin:0 0 20px}
.bp-dot{width:7px;height:7px;border-radius:50%;background:var(--a);flex-shrink:0}
.btn{font-weight:650!important;border-radius:10px!important;min-height:48px;padding:11px 18px}
.btn-accent{background:var(--a);border-color:var(--a)}
.btn-accent:hover{background:#184b32;border-color:#184b32;filter:none}
.btn-ghost{border-color:#93ab9c}
.bp-hero-banner{position:relative;border-radius:12px;box-shadow:none;margin-top:24px!important}
.bp-hero-banner img{height:260px;object-position:center 44%}
.bp-hero-credit{position:absolute;right:0;bottom:0;margin:0;padding:6px 12px;background:rgba(10,33,22,.87);color:#fff;font-size:.73rem}
.bp-head h2{font-size:clamp(1.65rem,3vw,2.1rem);font-weight:720}
.bp-head p{max-width:78ch}
.bp-head .bp-photo-note{font-size:.8rem;margin-top:12px;color:#52665b}
.bp-photo-note a,.bp-legal main a,.bp-faq a{text-decoration:underline}
section{padding:56px 0}
.bp-card{padding:20px;border-radius:14px;box-shadow:none;overflow:hidden}
.bp-card-title{margin-bottom:10px}
.bp-card h3{font-size:1.09rem;line-height:1.35;font-weight:710}
.bp-card p{line-height:1.65}
.bp-service-photo{margin:-20px -20px 18px;position:relative}
.bp-service-photo img{display:block;width:100%;height:210px;object-fit:cover;background:#e3ece4}
.bp-service-photo[data-kind="illustration"] img{object-fit:contain;padding:12px}
.bp-service-photo img[src*="helikopter"]{object-position:center top}
.bp-service-photo img[src*="baumpflege"]{object-position:center top}
.bp-service-photo img[src*="bagger-"]{object-position:50% 8%}
.bp-service-photo img[src*="drohne-"]{object-position:50% 48%}
.bp-card[id]{scroll-margin-top:110px}
.bp-service-photo figcaption{background:#eff4ef;padding:5px 12px;font-size:.7rem;color:#466151}
.bp-service-photo figcaption a{display:inline-block;min-height:28px;line-height:28px}
.bp-photo-fallback{height:210px;background:#e1ece2;margin:-20px -20px 18px;display:grid;place-items:center;color:#4b705a}
.bp-card .bp-small{font-size:.9rem;margin-top:18px!important}
.bp-card p+p{margin-top:12px}
.bp-vgap{--bp-vgap:24px}
.bp-list{font-size:.92rem}
.bp-step .num{min-width:30px;background:transparent;color:var(--a);border-radius:0;font-size:1.25rem}
#ablauf .bp-card{background:transparent;border:0;padding:0}
#einblicke{background:#fbfdfb;border-bottom:1px solid var(--b)}
.bp-image{box-shadow:none;border-radius:14px}
#einsatzgebiet .bp-image img{max-height:420px}
.bp-faq{max-width:850px}
.bp-faq details{border-bottom:1px solid var(--b)}
.bp-faq summary{cursor:pointer;font-weight:650;padding:19px 4px;min-height:52px}
.bp-faq details p{padding:0 4px 20px;margin:0;color:var(--m);max-width:78ch}
#kontakt .bp-card p{margin-bottom:10px}
#kontakt .bp-card h3{margin-bottom:16px}
footer .bp-wordmark{width:218px;margin-bottom:12px}
footer .bp-small{font-size:.83rem}
footer a{display:inline-block;min-height:44px;padding:10px 0}
.bp-legal main .container{max-width:930px}
.bp-legal h1{font-size:2.25rem;font-weight:720}
.bp-legal .bp-card h2{margin-top:30px;font-size:1.16rem;font-weight:710}
.bp-legal .bp-card h2:first-child{margin-top:0}
.bp-legal .bp-card p{margin-bottom:16px}
.bp-credits article{padding:22px 0;border-bottom:1px solid var(--b);scroll-margin-top:100px}
.bp-credits img{width:180px;max-height:130px;object-fit:cover;float:right;margin:0 0 12px 18px;border-radius:8px}
.bp-credits h2{font-size:1.2rem}
.bp-credits p{margin-bottom:8px;font-size:.95rem;overflow-wrap:anywhere}
.bp-credits article::after{content:'';display:block;clear:both}
@media(min-width:992px){.bp-menu{display:flex!important}.bp-menu-toggle{display:none!important}}
@media(max-width:991px){
 .bp-nav:not(.enhanced){position:static}
 .bp-nav .brand{max-width:65%}.bp-nav .bp-wordmark{width:220px}.bp-nav .inner{flex-wrap:wrap;min-height:74px}
 .bp-nav .bp-menu{display:flex;position:static;flex-basis:100%;align-items:stretch;border:0;padding:4px 0;gap:0}
 .bp-menu li a{display:flex;padding:8px 14px;width:100%}
 .bp-nav.enhanced .bp-menu{display:none}.bp-nav.enhanced.menu-open .bp-menu{display:flex}
 .bp-menu-toggle:not([hidden]){display:inline-flex}.bp-nav.enhanced .bp-menu{max-height:65vh;overflow-y:auto}
 .bp-hero{padding-top:22px}.bp-hero-card{padding:24px}.bp-hero h1{max-width:26ch}
 .bp-list{margin-top:18px}.bp-hero-banner img{height:260px}.bp-service-photo img{height:220px}
}
@media(max-width:575px){
 .bp-nav .inner{gap:8px}.bp-nav .bp-wordmark{width:190px}.bp-nav .brand{max-width:62%}
 .container{padding-left:20px;padding-right:20px}.bp-hero .container{padding-left:12px;padding-right:12px}
 .bp-hero-card{padding:22px 18px}.bp-hero h1{font-size:2.05rem}.bp-badge{font-size:.72rem}
 .bp-hero .lead{font-size:1rem}.bp-qualification{font-size:.83rem}
 .bp-hero .bp-list{font-size:.9rem}.bp-hero .bp-small{font-size:.8rem}
 .bp-hero-banner img{height:210px}.bp-hero-credit{font-size:.66rem}
 section{padding:42px 0}.bp-service-photo img{height:235px}.bp-head{margin-bottom:24px}
 .bp-credits img{float:none;width:100%;max-height:210px;margin:0 0 15px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:359px){.bp-nav .bp-wordmark{width:155px}.bp-menu-toggle{min-width:80px;padding:8px}.bp-nav .inner{gap:6px}}
