:root{--a:#86cfa8;--t:#143126;--m:#4f6b5f;--soft:#f3faf6;--b:rgba(20,49,38,.10);--sh:0 16px 40px rgba(20,49,38,.08);}
html{scroll-behavior:smooth;}
body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,Noto Sans,Liberation Sans,sans-serif;color:var(--t);background:#f9fdfb;}
a{color:inherit;text-decoration:none;}a:hover{text-decoration:underline;}
.bp-nav{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.92);backdrop-filter:saturate(160%) blur(10px);border-bottom:1px solid var(--b);} 
.bp-nav .inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 0;} 
.bp-nav .brand{font-weight:900;letter-spacing:.02em;display:flex;align-items:center;gap:.55rem;} 
.bp-nav .brand-logo{display:block;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.08);} 
.bp-menu{display:flex;gap:1.25rem;align-items:center;margin:0;padding:0;list-style:none;} 
.bp-menu a{color:var(--m);font-weight:700;font-size:.95rem;} 
.bp-menu a:hover{color:var(--t);text-decoration:none;} 
#bpNavToggle{display:none;} 
.bp-burger{display:none;width:44px;height:44px;border:1px solid var(--b);border-radius:12px;background:#fbfdfc;align-items:center;justify-content:center;cursor:pointer;} 
.bp-burger span{display:block;width:18px;height:2px;background:var(--t);border-radius:999px;margin:3px 0;} 
@media(max-width:991px){.bp-burger{display:flex;}.bp-menu{position:absolute;left:0;right:0;top:100%;background:#fbfdfc;border-bottom:1px solid var(--b);padding:.85rem 0;display:none;flex-direction:column;gap:.2rem;}.bp-menu a{padding:.65rem 1rem;width:100%;}#bpNavToggle:checked~.bp-menu{display:flex;}}
.bp-hero{padding:3.75rem 0;background:linear-gradient(135deg,rgba(127,191,155,.14),rgba(246,250,247,.95));}
.bp-hero-card{background:#fbfdfc;border:1px solid var(--b);border-radius:26px;box-shadow:var(--sh);padding:1.75rem;}
.bp-hero h1{font-weight:900;letter-spacing:-.02em;line-height:1.05;margin:1.1rem 0 1rem;}
.bp-badge{display:inline-flex;gap:.5rem;align-items:center;padding:.35rem .75rem;border-radius:999px;background:rgba(134,207,168,.14);border:1px solid rgba(134,207,168,.30);font-weight:900;font-size:.95rem;color:var(--t);}
.bp-hero .lead{color:var(--m);}
.bp-hero-img{border-radius:22px;overflow:hidden;border:1px solid var(--b);box-shadow:0 14px 38px rgba(17,24,39,.10);}
.bp-hero-img img{width:100%;height:auto;display:block;}
.bp-hero-banner{border-radius:22px;overflow:hidden;border:1px solid var(--b);box-shadow:0 14px 38px rgba(17,24,39,.10);}
.bp-hero-banner img{width:100%;height:360px;object-fit:cover;display:block;}
.bp-list{margin:0;padding-left:1.1rem;color:var(--m);}
.bp-list li{margin:.4rem 0;}
.btn-accent{background:var(--a);border:1px solid var(--a);color:#fff!important;font-weight:900;border-radius:14px;padding:.85rem 1.05rem;}
.btn-accent:hover{filter:brightness(.95);text-decoration:none;}
.btn-ghost{background:#fbfdfc;border:1px solid var(--b);color:var(--t)!important;font-weight:900;border-radius:14px;padding:.85rem 1.05rem;}
.btn-ghost:hover{text-decoration:none;border-color:rgba(17,24,39,.22);}
.btn{border-radius:14px!important;}
.btn:focus{box-shadow:0 0 0 .25rem rgba(127,191,155,.24)!important;}
.form-control,.form-select,textarea{border-radius:14px!important;}
.input-group .btn{border-radius:14px!important;}
section{padding:4.25rem 0;} .bp-soft{background:var(--soft);}
.bp-head{margin-bottom:2rem;} .bp-head h2{font-weight:900;letter-spacing:-.02em;margin:0 0 .5rem;} .bp-head p{margin:0;color:var(--m);max-width:62ch;}
.bp-card{background:#fbfdfc;border:1px solid var(--b);border-radius:20px;box-shadow:var(--sh);padding:1.35rem;height:100%;}
.bp-card h3{font-size:1.1rem;font-weight:900;margin:.35rem 0 .5rem;} .bp-card p{margin:0;color:var(--m);}

/* Vertikale Abstände zwischen Bootstrap-Kacheln (funktioniert auch ohne gy-* Utility) */
.bp-vgap{--bp-vgap:28px;margin-bottom:calc(-1 * var(--bp-vgap));}
.bp-vgap > [class*="col"]{margin-bottom:var(--bp-vgap);} 
.bp-card-media img{width:100%;height:180px;object-fit:contain;display:block;border-radius:16px;border:1px solid var(--b);margin-bottom:1rem;background:var(--soft);padding:10px;}

.bp-card-thumb img{width:100%;height:118px;object-fit:cover;display:block;border-radius:16px;border:1px solid var(--b);margin:.3rem 0 1rem;background:var(--soft);}
.bp-icon{width:40px;height:40px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:rgba(134,207,168,.14);border:1px solid rgba(134,207,168,.30);} .bp-icon svg{width:22px;height:22px;stroke:#143126;opacity:.9;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;}
.bp-callout{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;} .bp-callout h3{margin:0;font-weight:900;font-size:1.1rem;} .bp-callout p{margin:0;color:var(--m);}
.bp-step{display:flex;gap:1rem;align-items:flex-start;} .bp-step .num{width:36px;height:36px;border-radius:12px;background:rgba(17,24,39,.06);display:flex;align-items:center;justify-content:center;font-weight:900;}
.bp-image{border-radius:22px;overflow:hidden;border:1px solid var(--b);box-shadow:var(--sh);} .bp-image img{width:100%;height:auto;display:block;}
/* simple gallery */
.bp-gallery{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr));}
.bp-gallery .item{background:#fbfdfc;border:1px solid var(--b);border-radius:20px;box-shadow:var(--sh);overflow:hidden;}
.bp-gallery img{width:100%;height:220px;object-fit:contain;display:block;background:#fbfdfc;}
.bp-gallery .cap{padding:.9rem 1.05rem;color:var(--m);font-weight:700;}
@media(max-width:991px){.bp-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}.bp-gallery img{height:200px;}}
@media(max-width:575px){.bp-gallery{grid-template-columns:1fr;}.bp-gallery img{height:220px;}}
footer{padding:2.5rem 0;border-top:1px solid var(--b);color:var(--m);} footer .brand{font-weight:900;color:var(--t);} .bp-small{font-size:.95rem;}

@media(max-width:575px){.bp-hero{padding:2.75rem 0;}.bp-hero-card{padding:1.25rem;}.bp-hero-banner img{height:240px;}}

/* v17: Card title layout (icon left) */
.bp-card-title{display:flex;align-items:center;gap:.85rem;margin-bottom:.6rem;}
.bp-card-title h3{margin:0;}
.bp-card p{margin:0;color:var(--m);} /* ensure text below title */
