/* ============================================================
   KAISER Tief- und Pflasterbau GmbH – Corporate Stylesheet
   Klassisch: Blau · Gold · Beige · Weiß
   „Ihr Zuhause. Unsere Leidenschaft."
   ============================================================ */
:root{
  --navy:#123a63;          /* klassisches Kaiser-Blau (dunkel) */
  --navy-2:#164277;
  --navy-3:#1e5081;
  --blue:#1e5aa0;          /* Akzent-/Linkblau */
  --blue-2:#2f74bf;
  --sky:#d8b25e;           /* Gold-Akzent auf dunklen Flächen */
  --sky-soft:#ecd9a6;
  --gold:#c8a24b;          /* klassisches Gold */
  --gold-dark:#96742a;
  --gold-light:#e2c983;
  --warm:#c8a24b;
  --creme:#f4ebd8;
  --tint:#ecdfc0;          /* Beige – etwas kräftiger für klare Abgrenzung */
  --tint-2:#e1d2ac;
  --paper:#fbf8f1;         /* warmes Weiß */
  --white:#ffffff;
  --ink:#16273f;           /* tiefes Blau-Anthrazit (Text) */
  --muted:#5a6473;
  --line:rgba(22,39,63,.12);
  --line-gold:rgba(200,162,75,.32);
  --shadow-s:0 14px 36px -22px rgba(18,58,99,.45);
  --shadow:0 36px 74px -34px rgba(18,58,99,.5);
  --radius:24px;
  --radius-s:16px;
  --header-h:112px;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;overflow-x:hidden;overscroll-behavior-x:none;touch-action:pan-x pan-y;-ms-touch-action:pan-x pan-y}
img{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
body{font-family:'Inter',sans-serif;color:var(--ink);background:var(--paper);line-height:1.78;font-weight:400;overflow-x:hidden;overscroll-behavior-x:none;width:100%;max-width:100%;position:relative}
h1,h2,h3,h4,h5,.dh{font-family:'Inter',sans-serif;font-weight:500;line-height:1.1;letter-spacing:-.4px;color:var(--ink)}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
p{color:var(--ink)}
section[id]{scroll-margin-top:calc(var(--header-h) + 20px)}
.wrap{width:min(1300px,92%);margin-inline:auto}
.narrow{width:min(900px,92%);margin-inline:auto}
::selection{background:var(--gold);color:#16273f}

.progress{position:fixed;top:0;left:0;height:3px;width:0;background:linear-gradient(90deg,var(--gold),var(--gold-light));z-index:400;transition:width .1s linear}
.cur{display:none!important}

/* buttons */
.btn{position:relative;display:inline-flex;align-items:center;gap:12px;padding:16px 34px;border-radius:50px;font-weight:600;font-size:.94rem;font-family:inherit;cursor:pointer;transition:.4s var(--ease);border:1.6px solid transparent;white-space:nowrap}
.btn svg{transition:.3s}
.btn:hover svg{transform:translateX(5px)}
.btn-primary{background:var(--gold);color:#16273f;border-color:var(--gold)}
.btn-primary:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-3px);box-shadow:0 20px 40px -16px rgba(18,58,99,.55)}
.btn-ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.btn-ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:translateY(-3px)}
.btn-light{background:#fff;color:var(--navy);border-color:#fff}
.btn-light:hover{background:var(--gold);color:#16273f;border-color:var(--gold);transform:translateY(-3px)}
.btn-outline-light{background:transparent;color:#fff;border-color:rgba(255,255,255,.55)}
.btn-outline-light:hover{background:#fff;color:var(--navy);border-color:#fff;transform:translateY(-3px)}

/* eyebrow / heads */
.eyebrow{display:inline-flex;align-items:center;gap:12px;text-transform:uppercase;letter-spacing:3px;font-size:.72rem;font-weight:700;color:var(--gold-dark)}
.eyebrow::before{content:"";width:30px;height:2px;background:var(--gold);border-radius:2px}
.head{max-width:730px;margin-bottom:62px}
.head.center{margin-inline:auto;text-align:center}
.head.center .eyebrow{justify-content:center}
.head h2{font-size:clamp(2.2rem,4.8vw,3.7rem);margin:20px 0}
.head p{color:var(--muted);font-size:1.1rem}

/* sections */
.section{padding:118px 0;position:relative}
.section.tight{padding:84px 0}
.section.alt{background:var(--tint)}
.section.creme2{background:var(--tint-2)}
.section.navy{background:var(--navy);color:#e7eefa}
.section.navy p{color:#e7eefa}
.section.navy .head h2{color:#fff}
.section.navy .head p{color:rgba(231,238,250,.78)}
.section.navy .eyebrow{color:var(--sky)}

/* ============================================================ HEADER */
.site-header{position:sticky;top:0;z-index:200;background:rgba(18,58,99,.96);backdrop-filter:blur(14px);border-bottom:1px solid rgba(216,178,94,.2);transition:.4s var(--ease)}
.site-header.small{background:rgba(15,48,82,.99);box-shadow:0 14px 40px -24px rgba(0,0,0,.6)}
.site-header .nav{display:flex;align-items:center;justify-content:space-between;gap:18px;height:var(--header-h);transition:.4s var(--ease)}
.site-header.small .nav{height:74px}
.logo{height:84px;width:auto;margin-left:10px;transition:.4s var(--ease);filter:drop-shadow(0 3px 12px rgba(0,0,0,.45))}
.site-header.small .logo{height:58px}
.main-nav>ul{display:flex;align-items:center;gap:2px;list-style:none}
.main-nav a{display:block;padding:10px 14px;color:#eaf1fb;font-size:.92rem;font-weight:500;border-radius:10px;position:relative;transition:.25s}
.main-nav>ul>li>a::after{content:"";position:absolute;left:14px;right:14px;bottom:6px;height:1.5px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:.3s}
.main-nav>ul>li>a:hover{color:#fff}
.main-nav>ul>li>a:hover::after{transform:scaleX(1)}
.main-nav .nav-cta{background:var(--gold);color:#16273f;margin-left:8px;padding:11px 22px;border-radius:50px;font-weight:600}
.main-nav .nav-cta::after{display:none}
.main-nav .nav-cta:hover{background:#fff;color:var(--navy);transform:translateY(-2px)}
.has-sub{position:relative}
.has-sub>a::before{content:"▾";font-size:.64rem;margin-left:5px;opacity:.75;position:relative;top:-1px}
.sub{position:absolute;top:calc(100% + 4px);left:0;min-width:230px;background:#fff;border-radius:16px;box-shadow:var(--shadow);padding:8px;list-style:none;opacity:0;visibility:hidden;transform:translateY(10px);transition:.28s var(--ease);border:1px solid var(--line)}
.has-sub:hover .sub,.has-sub:focus-within .sub{opacity:1;visibility:visible;transform:translateY(0)}
.sub li a{color:var(--ink);padding:12px 16px;border-radius:11px;font-size:.9rem}
.sub li a:hover{background:var(--tint);color:var(--gold-dark)}

/* social icons */
.social-bar{display:flex;align-items:center;gap:6px}
.social-bar a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#eaf1fb;background:rgba(255,255,255,.08);transition:.25s}
.social-bar a:hover{background:var(--gold);color:#16273f;transform:translateY(-2px)}
.social-bar svg{width:19px;height:19px}
.nav-social{display:none}

.burger{display:none;flex-direction:column;gap:6px;background:none;border:0;cursor:pointer;padding:6px;z-index:210}
.burger span{width:28px;height:2px;background:#fff;border-radius:2px;transition:.3s}
body.menu-open{overflow:hidden}
body.menu-open .burger span:nth-child(1){transform:translateY(8px) rotate(45deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

/* ============================================================ HERO */
.hero{position:relative;isolation:isolate;min-height:calc(100vh - var(--header-h));display:flex;align-items:center;color:#fff;overflow:hidden}
.hero-bg{position:absolute;inset:0;z-index:-2}
.hero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.16);animation:ken 24s ease-out forwards}
@keyframes ken{to{transform:scale(1)}}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(11,32,56,.9),rgba(11,32,56,.5) 55%,rgba(11,32,56,.28))}
.hero-inner{max-width:760px;padding:80px 0}
.hero .slogan{font-family:'Inter',sans-serif;font-style:italic;font-size:1.35rem;color:var(--gold-light);margin-bottom:16px}
.hero .eyebrow{color:var(--sky)}
.hero h1{font-size:clamp(2.9rem,6.6vw,5.6rem);color:#fff;margin:10px 0 30px;font-weight:500;letter-spacing:-1px}
.hero-actions{display:flex;gap:16px;flex-wrap:wrap}
.scrollcue{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.72);font-size:.7rem;letter-spacing:2px;text-transform:uppercase;z-index:2}
.scrollcue .m{width:22px;height:36px;border:1.5px solid rgba(255,255,255,.5);border-radius:12px;position:relative}
.scrollcue .m::before{content:"";position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:7px;background:#fff;border-radius:2px;animation:sc 1.6s infinite}
@keyframes sc{0%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,12px)}}

/* page hero */
.pagehero{position:relative;isolation:isolate;padding:120px 0 96px;color:#fff;overflow:hidden}
.pagehero-bg{position:absolute;inset:0;z-index:-2}
.pagehero-bg img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);animation:ken 18s ease-out forwards}
.pagehero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(11,32,56,.95),rgba(11,32,56,.82) 55%,rgba(11,32,56,.66))}
.pagehero h1{font-size:clamp(2.3rem,5.2vw,4rem);color:#fff;margin:16px 0 12px;text-shadow:0 2px 26px rgba(11,32,56,.6)}
.pagehero p{color:rgba(255,255,255,.9);max-width:650px;font-size:1.12rem;text-shadow:0 1px 14px rgba(11,32,56,.5)}
.breadcrumb{font-size:.86rem;color:rgba(255,255,255,.75);display:flex;gap:8px;flex-wrap:wrap}
.breadcrumb a:hover{color:var(--gold-light)}
.breadcrumb span{opacity:.5}

/* ============================================================ MARQUEE */
.marquee{background:var(--navy);color:#fff;overflow:hidden;padding:20px 0;border-top:1px solid rgba(216,178,94,.24);border-bottom:1px solid rgba(216,178,94,.24)}
.marquee-track{display:flex;width:max-content;animation:marq 34s linear infinite}
.marquee:hover .marquee-track{animation-play-state:paused}
.marquee span{font-family:'Inter',sans-serif;font-size:1.32rem;font-weight:600;padding:0 34px;display:inline-flex;align-items:center;gap:34px;color:#eef4fd;text-transform:uppercase;letter-spacing:2px}
.marquee span::after{content:"◆";color:var(--gold);font-size:.62em;opacity:.9}
@keyframes marq{to{transform:translateX(-50%)}}

/* ============================================================ STATS */
.statbar{background:var(--navy-2);color:#fff}
.statbar .wrap{display:grid;grid-template-columns:repeat(4,1fr);gap:30px;padding:58px 0}
.stat{text-align:center;position:relative}
.stat+.stat::before{content:"";position:absolute;left:-15px;top:8px;bottom:8px;width:1px;background:rgba(216,178,94,.3)}
.stat strong{font-family:'Inter',sans-serif;font-size:3rem;color:var(--sky);display:block;line-height:1}
.stat span{font-size:.84rem;letter-spacing:.6px;text-transform:uppercase;color:rgba(255,255,255,.78)}

/* ============================================================ SPLIT */
.split{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center}
.split.wide-l{grid-template-columns:1.08fr 1fr}
.split-img{position:relative}
.split-img img{width:100%;height:560px;object-fit:cover;border-radius:var(--radius);box-shadow:var(--shadow)}
.split-img .badge{position:absolute;bottom:-26px;left:-26px;background:var(--gold);color:#16273f;padding:24px 30px;border-radius:var(--radius-s);box-shadow:var(--shadow)}
.split-img .badge strong{font-family:'Inter',sans-serif;font-size:2.5rem;display:block;line-height:1}
.split-img .badge span{font-size:.8rem;font-weight:600}
.split-text .lead{font-size:1.18rem;color:var(--ink);margin-bottom:18px}
.split-text p{color:var(--muted);margin-bottom:16px}
.chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.chip{border:1px solid var(--line-gold);background:#fff;border-radius:50px;padding:9px 18px;font-size:.84rem;color:var(--ink);font-weight:500;text-decoration:none;display:inline-block;cursor:pointer;transition:.3s var(--ease)}
.chip:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* ============================================================ PROCESS */
.proc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.proc{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:44px 34px;position:relative;overflow:hidden;transition:.45s var(--ease)}
.proc::before{content:"";position:absolute;top:0;left:0;height:4px;width:100%;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:.5s var(--ease)}
.proc:hover{transform:translateY(-10px);box-shadow:var(--shadow)}
.proc:hover::before{transform:scaleX(1)}
.proc .ic{width:78px;height:78px;border-radius:22px;background:linear-gradient(140deg,var(--navy),var(--navy-3));display:grid;place-items:center;margin-bottom:22px;box-shadow:0 14px 28px -12px rgba(18,58,99,.6);transition:.4s var(--ease)}
.proc:hover .ic{transform:translateY(-3px) rotate(-3deg)}
.proc .ic img{width:42px;height:42px}
.proc .ic svg{width:38px;height:38px;color:var(--gold-light)}
.proc .n{position:absolute;top:32px;right:36px;font-family:'Inter',sans-serif;font-size:2.6rem;color:var(--tint-2)}
.proc h3{font-size:1.55rem;margin-bottom:10px}
.proc p{color:var(--muted);font-size:.96rem}

/* ============================================================ TIMELINE */
.timeline{position:relative;max-width:960px;margin:0 auto;padding-left:20px}
.timeline::before{content:"";position:absolute;left:31px;top:10px;bottom:10px;width:2px;background:linear-gradient(var(--gold),var(--line))}
.tstep{position:relative;padding:0 0 44px 82px}
.tstep:last-child{padding-bottom:0}
.tstep .dot{position:absolute;left:12px;top:0;width:40px;height:40px;border-radius:50%;background:var(--gold);color:#16273f;display:grid;place-items:center;font-family:'Inter',sans-serif;font-weight:600;box-shadow:0 0 0 6px var(--paper)}
.section.alt .tstep .dot{box-shadow:0 0 0 6px var(--tint)}
.section.navy .tstep .dot{box-shadow:0 0 0 6px var(--navy)}
.tstep h4{font-size:1.35rem;margin-bottom:6px}
.tstep p{color:var(--muted)}
.section.navy .tstep h4{color:#fff}
.section.navy .tstep p{color:rgba(231,238,250,.78)}
.section.navy .timeline::before{background:linear-gradient(var(--gold),rgba(255,255,255,.14))}

/* ============================================================ SERVICE cards */
.svc-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.svc{position:relative;isolation:isolate;border-radius:var(--radius);overflow:hidden;min-height:500px;display:flex;align-items:flex-end;color:#fff;box-shadow:var(--shadow)}
.svc img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:.9s var(--ease)}
.svc:hover img{transform:scale(1.09)}
.svc::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,.30) 0%,rgba(11,32,56,.12) 24%,rgba(11,32,56,.72) 62%,rgba(11,32,56,.97) 100%);z-index:-1}
.svc-body{padding:48px}
.svc-body .eyebrow{color:var(--gold-light);text-shadow:0 1px 8px rgba(8,22,42,.5)}
.svc-body h3{font-size:2.2rem;color:#fff;margin:12px 0 12px;text-shadow:0 2px 12px rgba(8,22,42,.6)}
.svc-body p{color:rgba(255,255,255,.94);max-width:460px;margin-bottom:20px;text-shadow:0 1px 8px rgba(8,22,42,.55)}
.svc-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px;list-style:none}
.svc-tags li{font-size:.8rem;background:rgba(255,255,255,.18);backdrop-filter:blur(4px);padding:6px 14px;border-radius:50px}
.svc-link{display:inline-flex;align-items:center;gap:8px;color:var(--gold-light);font-weight:600;font-size:.94rem}
.svc-link svg{transition:.3s}
.svc:hover .svc-link svg{transform:translateX(6px)}

/* ============================================================ LEISTUNGS-Bereiche (ausführlich) */
.lsec{padding:70px 0;scroll-margin-top:88px}
.lsec.alt{background:var(--tint)}
.lsec-head{position:relative;display:flex;align-items:flex-end;min-height:460px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:-52px}
.lsec-media{position:absolute!important;inset:0;opacity:1!important;transform:none!important}
.lsec-media img{width:100%;height:100%;object-fit:cover;transition:1.4s var(--ease)}
.lsec:hover .lsec-media img{transform:scale(1.06)}
.lsec-collage{display:grid!important;grid-template-columns:1.7fr 1fr;grid-template-rows:1fr 1fr;gap:6px}
.lsec-collage img{width:100%;height:100%;object-fit:cover;transition:1.4s var(--ease)}
.lsec-collage img:nth-of-type(1){grid-column:1;grid-row:1/3}
.lsec-collage img:nth-of-type(2){grid-column:2;grid-row:1}
.lsec-collage img:nth-of-type(3){grid-column:2;grid-row:2}
.lsec:hover .lsec-collage img{transform:scale(1.05)}
@media(max-width:560px){.lsec-collage{grid-template-columns:1fr 1fr;grid-template-rows:1.4fr 1fr}.lsec-collage img:nth-of-type(1){grid-column:1/3;grid-row:1}.lsec-collage img:nth-of-type(2){grid-column:1;grid-row:2}.lsec-collage img:nth-of-type(3){grid-column:2;grid-row:2}}
.lsec-head::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,.18) 0%,rgba(11,32,56,.35) 42%,rgba(11,32,56,.9) 100%);pointer-events:none;z-index:1}
/* Leistungen als Slider */
.lsecshow .rslides img{transform:none!important}
.lsecshow .rs-arrow{opacity:1;width:44px;height:44px;font-size:1.4rem;background:rgba(11,32,56,.42)}
.lsecshow .rs-arrow:hover{background:var(--gold)}
.lsecshow .rs-dots{left:auto;right:30px;bottom:26px;width:auto;justify-content:flex-end}
.lsecshow .rs-dots span{background:rgba(255,255,255,.6)}
.lsecshow .rs-dots span.on{background:var(--gold)}
.lsec-no{position:absolute;right:30px;top:16px;z-index:2;font-family:'Inter',sans-serif;font-size:6.5rem;font-weight:600;color:rgba(255,255,255,.15);line-height:1}
.lsec-intro{position:relative;z-index:2;color:#fff;padding:48px 48px 78px;max-width:820px}
.lcat-icon{width:60px;height:60px;border-radius:50%;background:rgba(255,255,255,.14);border:1.5px solid rgba(216,178,94,.7);color:var(--gold-light);display:grid;place-items:center;margin-bottom:18px;transition:.45s var(--ease)}
.lcat-icon svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:.45s var(--ease)}
.lsec:hover .lcat-icon{background:var(--gold);color:#fff;border-color:var(--gold);transform:rotate(-4deg)}
.lsec-intro .eyebrow{color:var(--gold-light)}
.lsec-intro h2{color:#fff;font-size:clamp(1.9rem,3.8vw,2.7rem);margin:6px 0 14px}
.lsec-intro h2::after{content:"";display:block;width:54px;height:3px;background:var(--gold);border-radius:3px;margin-top:16px}
.lcat-lead{color:rgba(255,255,255,.92);font-size:1.06rem;max-width:62ch}
.lsec-items{position:relative;z-index:3;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0 4px}
.litem{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px 26px 24px;box-shadow:var(--shadow-s);position:relative;overflow:hidden;transition:.4s var(--ease)}
.lsec.alt .litem{background:#fff}
.litem::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--gold),var(--gold-light));transform:scaleX(0);transform-origin:left;transition:.45s var(--ease)}
.litem:hover::before{transform:scaleX(1)}
.litem:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:transparent}
.litem h4{font-size:1.08rem;margin:0 0 8px;color:var(--navy);display:flex;align-items:flex-start;gap:10px;line-height:1.3}
.litem h4::before{content:"";width:9px;height:9px;margin-top:6px;background:var(--gold);transform:rotate(45deg);flex:none;transition:.4s var(--ease)}
.litem:hover h4::before{transform:rotate(135deg) scale(1.2)}
.litem p{color:var(--muted);font-size:.92rem;margin:0}
@media(max-width:960px){.lsec-items{grid-template-columns:1fr 1fr}}
@media(max-width:760px){
  .lsec{padding:46px 0}
  .lsec-head{min-height:380px;margin-bottom:-44px}
  .lsec-intro{padding:34px 26px 66px}
}
@media(max-width:560px){.lsec-items{grid-template-columns:1fr}.lsec-no{font-size:4.2rem;right:18px}}

/* ============================================================ LEISTUNGEN – Bento-Überblick */
.lbento{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:16px;margin-top:56px}
.lbento a{position:relative;isolation:isolate;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-s);display:flex;align-items:flex-end;color:#fff;transition:.45s var(--ease)}
.lbento a.big{grid-column:span 2;grid-row:span 2}
.lbento a img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:.8s var(--ease)}
.lbento a::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,.04) 40%,rgba(11,32,56,.86));z-index:-1}
.lbento a:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.lbento a:hover img{transform:scale(1.08)}
.lbento .lb-txt{padding:18px 20px;position:relative}
.lbento .lb-n{font-family:'Inter',sans-serif;font-size:.74rem;letter-spacing:1px;color:var(--gold-light);opacity:.9;display:block;margin-bottom:3px}
.lbento .lb-h{font-family:'Inter',sans-serif;font-size:1.22rem;font-weight:600;line-height:1.2}
.lbento a.big .lb-h{font-size:1.7rem}
@media(max-width:860px){.lbento{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px}.lbento a.big{grid-column:span 2;grid-row:span 1}}
@media(max-width:520px){.lbento{grid-template-columns:1fr;grid-auto-rows:180px}.lbento a.big{grid-column:span 1}}

/* ============================================================ LEISTUNGEN – editorialer Aufbau (neu) */
.svc-num{position:absolute;left:24px;top:14px;z-index:2;font-family:'Inter',sans-serif;font-size:4.6rem;font-weight:600;color:rgba(255,255,255,.92);line-height:1}
.svc-ic{width:58px;height:58px;border-radius:50%;background:var(--tint);color:var(--gold-dark);display:grid;place-items:center;margin-bottom:18px;flex:none}
.svc-ic svg{width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.svc-deflist{display:grid;grid-template-columns:1fr 1fr;gap:26px 40px;margin-top:30px;padding-top:26px;border-top:1px solid var(--line)}
.svc-deflist>div{display:flex;flex-direction:column;align-items:center;text-align:center}
.svc-deflist dt{font-weight:600;color:var(--navy);font-size:1rem;position:relative;padding-bottom:10px;margin-bottom:6px}
.svc-deflist dt::after{content:"";position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:22px;height:2px;background:var(--gold);border-radius:2px}
.svc-deflist dd{color:var(--muted);font-size:.9rem;line-height:1.65;margin:0;max-width:36ch}
.jstep-txt.top{justify-content:flex-start;padding-top:52px}
.jstep[id]{scroll-margin-top:calc(var(--header-h) + 20px)}
@media(max-width:860px){.svc-deflist{grid-template-columns:1fr;gap:16px}}
@media(max-width:680px){.svc-num{font-size:3.2rem;left:16px;top:10px}.jstep-txt.top{padding-top:36px}}

/* ============================================================ LEISTUNGEN – vollflaechige Bereichs-Karten (neu) */
.lcard{margin-bottom:64px;scroll-margin-top:calc(var(--header-h) + 20px)}
.lcard:last-child{margin-bottom:0}
.lcard-media{position:relative;isolation:isolate;min-height:clamp(420px,56vw,600px);display:flex;align-items:flex-end;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;box-shadow:var(--shadow)}
.lcard-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:1.4s var(--ease)}
.lcard:hover .lcard-media img{transform:scale(1.05)}
.lcard-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,.06) 28%,rgba(11,32,56,.58) 66%,rgba(11,32,56,.93) 100%);z-index:-1}
.lcard-num{position:absolute;right:34px;top:24px;z-index:2;font-family:'Inter',sans-serif;font-size:5.5rem;font-weight:600;color:rgba(255,255,255,.2);line-height:1}
.lcard-overlay{position:relative;z-index:2;color:#fff;padding:46px 50px 42px;max-width:760px;margin-inline:auto;text-align:center}
.lcard-overlay .svc-ic{background:rgba(255,255,255,.14);border:1.5px solid rgba(216,178,94,.7);color:var(--gold-light);margin-inline:auto}
.lcard-overlay .eyebrow{color:var(--gold-light);justify-content:center}
.lcard-overlay h2{color:#fff;font-size:clamp(1.9rem,3.6vw,2.6rem);margin:8px 0 12px}
.lcard-overlay h2::after{content:"";display:block;width:52px;height:3px;background:var(--gold);border-radius:3px;margin:14px auto 0}
.lcard-lead{color:rgba(255,255,255,.94);font-size:1.05rem;max-width:60ch;margin-inline:auto}
.lcard-list{background:#fff;padding:36px 50px 10px;margin:0;border:1px solid var(--line);border-top:0;border-radius:0 0 var(--radius) var(--radius);box-shadow:var(--shadow-s)}
@media(max-width:760px){.lcard-overlay{padding:30px 22px 28px}.lcard-list{padding:26px 24px 4px}.lcard-num{font-size:3.6rem;right:18px;top:14px}}
/* Leistungen: Kategorie als Bildslider */
.lcard-media::after{pointer-events:none}
.lcardshow .rslides{position:absolute;inset:0;z-index:-2;display:flex;height:100%;transition:transform .55s var(--ease)}
.lcardshow .rslides img{position:relative!important;inset:auto!important;z-index:auto!important;flex:0 0 100%;width:100%;height:100%;object-fit:cover;transform:none!important}
.lcardshow .rs-arrow{display:none}
.lcardshow .rs-dots{z-index:5;left:0;right:0;bottom:20px;width:auto;justify-content:center}
.lcardshow .rs-dots span{background:rgba(255,255,255,.55)}
.lcardshow .rs-dots span.on{background:var(--gold)}

/* ============================================================ GESCHICHTE Timeline */
.htimeline{max-width:900px;margin:0 auto}
@media(max-width:760px){.htimeline{margin-top:36px!important}}
.hmile{display:grid;grid-template-columns:26px 1fr;gap:24px;padding-bottom:40px}
.hmile:last-child{padding-bottom:0}
.hmile-line{position:relative;display:flex;justify-content:center}
.hmile-line::before{content:"";position:absolute;top:6px;bottom:-40px;width:2px;background:var(--line-gold)}
.hmile:last-child .hmile-line::before{display:none}
.hdot{position:relative;z-index:1;width:16px;height:16px;border-radius:50%;background:var(--paper);border:2px solid var(--gold);box-shadow:0 0 0 3px var(--tint);margin-top:4px}
.hdot.gold{background:var(--gold)}
.hyear{font-family:'Inter',sans-serif;font-size:1.5rem;color:var(--navy);font-weight:600;margin-bottom:14px}
.hyear em{font-style:normal;color:var(--gold-dark);font-size:.82rem;font-weight:600;text-transform:uppercase;letter-spacing:1.2px;margin-left:12px}
.hcard{display:grid;grid-template-columns:240px 1fr;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);overflow:hidden;box-shadow:var(--shadow-s);transition:.4s var(--ease)}
.hcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:var(--line-gold)}
.hcard-img{aspect-ratio:4/3;overflow:hidden;height:100%}
.hcard-img img{width:100%;height:100%;object-fit:cover;transition:.8s var(--ease)}
.hmile:hover .hcard-img img{transform:scale(1.06)}
.hcard-txt{padding:22px 26px 22px 0}
.hcard-txt p{color:var(--muted);font-size:.97rem;margin:0}
.hcard-txt strong{color:var(--ink)}
.hcard-txt em{font-style:italic;color:var(--gold-dark)}
.hclose{text-align:center;font-family:'Inter',sans-serif;font-size:1.35rem;color:var(--navy);margin-top:8px}
@media(max-width:640px){
  .hmile{gap:16px}
  .hcard{grid-template-columns:1fr}
  .hcard-img{aspect-ratio:16/9}
  .hcard-txt{padding:18px 20px}
  .hyear{font-size:1.3rem}
  .hyear em{display:block;margin:4px 0 0}
}

/* ============================================================ Angebotsanfrage */
.qtabs{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-bottom:30px}
.qtab{display:flex;align-items:center;gap:14px;text-align:left;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:18px 20px;cursor:pointer;transition:.3s var(--ease);color:var(--ink);font-family:inherit}
.qtab:hover{border-color:var(--line-gold);transform:translateY(-3px);box-shadow:var(--shadow-s)}
.qtab.active{border-color:var(--gold);background:var(--navy);color:#fff}
.qtab-ic{width:46px;height:46px;flex:none;border-radius:12px;background:var(--tint);color:var(--gold-dark);display:grid;place-items:center;transition:.3s var(--ease)}
.qtab.active .qtab-ic{background:var(--gold);color:#fff}
.qtab-ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.qtab strong{display:block;font-size:1rem;line-height:1.25}
.qtab em{font-style:normal;font-size:.8rem;color:var(--muted)}
.qtab.active em{color:rgba(255,255,255,.72)}
.qform{max-width:940px;margin:0 auto}
.qform.hide{display:none}
.qform h3{font-size:1.45rem;margin-bottom:16px}
.qform .divider{border:0;border-top:1px solid var(--line);margin:24px 0 2px}
.qcheck{display:flex!important;gap:10px;align-items:flex-start;margin:18px 0 2px!important;font-size:.84rem;color:var(--muted);font-weight:400}
.qcheck input{width:auto!important;margin-top:3px;flex:none;accent-color:var(--gold)}
.form input[type=file]{padding:10px 12px;font-size:.84rem;background:var(--paper);cursor:pointer}
.form input[type=date]{color:var(--ink)}
@media(max-width:760px){.qtabs{grid-template-columns:1fr}}

/* ============================================================ Klettgaublick */
.apt-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.apt{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);display:flex;flex-direction:column;transition:.4s var(--ease)}
.apt:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--line-gold)}
.apt-img{aspect-ratio:4/3;overflow:hidden;position:relative}
.apt-img img{width:100%;height:100%;object-fit:cover;transition:.8s var(--ease)}
.apt:hover .apt-img img{transform:scale(1.07)}
.apt-size{position:absolute;left:14px;top:14px;background:rgba(11,32,56,.82);color:#fff;font-size:.76rem;padding:5px 12px;border-radius:50px}
.apt-body{padding:22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.apt-stars{display:flex;gap:3px}
.apt-stars svg{width:16px;height:16px;fill:var(--gold)}
.apt-body h3{font-size:1.2rem}
.apt-body>p{color:var(--muted);font-size:.92rem;flex:1;margin:0}
.apt-price{font-weight:600;color:var(--navy);font-size:1rem}
.apt-price span{color:var(--muted);font-weight:400;font-size:.82rem}
.apt-link{color:var(--gold-dark);font-weight:600;font-size:.92rem;display:inline-flex;align-items:center;gap:6px}
.apt-link svg{width:16px;height:16px;transition:.3s}
.apt:hover .apt-link svg{transform:translateX(4px)}
.cafe-hours{background:var(--navy);color:#fff;border-radius:var(--radius-s);padding:20px 24px;margin:24px 0 4px}
.cafe-hours strong{color:var(--gold-light);display:block;font-size:1.02rem;margin-bottom:5px}
.cafe-hours em{font-style:normal;color:rgba(231,238,250,.78);font-size:.86rem}
.host-quote{display:flex;gap:20px;align-items:center;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.host-quote img{width:116px;height:116px;border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--line-gold)}
.host-quote p{font-family:'Inter',sans-serif;font-style:italic;color:var(--ink);margin:0;font-size:1rem;line-height:1.5}
.host-quote span{display:block;font-style:normal;font-family:'Inter',sans-serif;font-size:.8rem;color:var(--gold-dark);margin-top:8px;font-weight:600}
.kg-info{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:860px){.apt-grid{grid-template-columns:1fr}}
@media(max-width:760px){.kg-info{grid-template-columns:1fr}}
@media(max-width:520px){.host-quote img{width:84px;height:84px}}
.kg-bezug{max-width:840px;margin:40px auto 0;text-align:center;background:var(--tint);border:1px solid var(--line-gold);border-radius:var(--radius-s);padding:30px 34px;position:relative}
.kg-bezug::before{content:"";position:absolute;top:-1px;left:50%;transform:translateX(-50%);width:70px;height:3px;background:var(--gold);border-radius:3px}
.kg-bezug p{color:var(--ink);font-size:1.04rem;line-height:1.7;margin:0}
.kg-bezug strong{color:var(--navy)}
@media(max-width:600px){.kg-bezug{padding:24px 22px}}

/* ============================================================ Kontakt · Trust-Punkte */
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.trust{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:26px 18px;background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);transition:.35s var(--ease)}
.trust:hover{transform:translateY(-5px);box-shadow:var(--shadow-s);border-color:var(--line-gold)}
.trust .ti{width:52px;height:52px;border-radius:50%;background:var(--tint);color:var(--gold-dark);display:grid;place-items:center;transition:.35s var(--ease)}
.trust:hover .ti{background:var(--gold);color:#fff;transform:rotate(-4deg)}
.trust .ti svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.trust strong{font-size:1rem;color:var(--navy)}
.trust span{font-size:.86rem;color:var(--muted);line-height:1.5}
@media(max-width:760px){.trust-grid{grid-template-columns:1fr 1fr}}
@media(max-width:440px){.trust-grid{grid-template-columns:1fr}}

/* ============================================================ FEATURE grid */
.feat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.press-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.press-grid .feat{display:flex;align-items:center;gap:16px}
.press-grid .feat .fi{margin-bottom:0;flex:none}
.press-grid .feat h4{margin-bottom:2px;font-size:1.05rem}
@media(max-width:620px){.press-grid{grid-template-columns:1fr}}
.feat{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);padding:34px 30px;transition:.4s var(--ease)}
.feat:hover{transform:translateY(-8px);box-shadow:var(--shadow-s);border-color:var(--line-gold)}
.feat .fi{width:58px;height:58px;border-radius:16px;background:var(--tint);color:var(--gold-dark);display:grid;place-items:center;margin-bottom:18px;transition:.45s var(--ease)}
.feat .fi svg{width:30px;height:30px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:.45s var(--ease)}
.feat:hover .fi{background:var(--gold);color:#fff;transform:translateY(-3px) rotate(-3deg)}
.feat:hover .fi svg{transform:scale(1.08)}
.feat h4{font-size:1.22rem;margin-bottom:8px}
.feat p{color:var(--muted);font-size:.93rem}
.section.navy .feat{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1)}
.section.navy .feat h4{color:#fff}
.section.navy .feat p{color:rgba(231,238,250,.78)}
.section.navy .feat .fi{background:rgba(216,178,94,.18);color:var(--sky)}

/* ============================================================ VIDEO */
.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.video{position:relative;display:block;padding-top:56.25%;border-radius:var(--radius-s);overflow:hidden;box-shadow:var(--shadow);background:var(--navy-2) center/cover no-repeat;cursor:pointer;isolation:isolate;border:2px solid rgba(216,178,94,.4);transition:transform .45s var(--ease),border-color .45s var(--ease),box-shadow .45s var(--ease)}
.video:hover{transform:translateY(-8px);border-color:var(--gold);box-shadow:0 44px 74px -30px rgba(11,32,56,.75)}
.video::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(11,32,56,.12),rgba(11,32,56,.5));transition:.45s}
.video:hover::after{background:linear-gradient(rgba(11,32,56,.04),rgba(11,32,56,.32))}
.video .play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:76px;height:76px;border-radius:50%;background:rgba(255,255,255,.95);display:grid;place-items:center;transition:.45s var(--ease);z-index:2;box-shadow:0 10px 30px rgba(11,32,56,.55)}
.video .play::after{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid rgba(255,255,255,.65);animation:vpulse 2.2s ease-out infinite}
@keyframes vpulse{0%{transform:scale(.88);opacity:.7}100%{transform:scale(1.55);opacity:0}}
.video:hover .play{transform:translate(-50%,-50%) scale(1.12);background:var(--gold)}
.video:hover .play::before{border-color:transparent transparent transparent #fff}
.video .play::before{content:"";width:0;height:0;border-style:solid;border-width:12px 0 12px 20px;border-color:transparent transparent transparent var(--navy);margin-left:5px;transition:.3s;z-index:1}
.video-cap{margin-top:16px;text-align:center}
.video-cap h4{font-size:1.2rem;margin-bottom:3px}
.video-cap span{font-size:.85rem;color:var(--muted)}
.section.navy .video-cap h4{color:#fff}
.section.navy .video-cap span{color:var(--gold-light)}

/* ============================================================ GALLERY */
.gcat{margin-bottom:72px}
.gcat:last-child{margin-bottom:0}
.gcat-head{max-width:740px;margin-bottom:26px}
.gcat-head h3{font-size:1.85rem;margin-bottom:8px}
.gcat-head p{color:var(--muted)}
.ggrid{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:220px;gap:14px}
.gitem{position:relative;border-radius:var(--radius-s);overflow:hidden;cursor:pointer;box-shadow:var(--shadow-s)}
.gitem img{width:100%;height:100%;object-fit:cover;transition:.8s var(--ease)}
.gitem:hover img{transform:scale(1.12)}
.gitem .cap{position:absolute;inset:0;display:flex;align-items:flex-end;padding:16px;background:linear-gradient(transparent 50%,rgba(11,32,56,.85));color:#fff;font-family:'Inter',sans-serif;font-size:1.05rem;opacity:0;transition:.35s}
.gitem:hover .cap{opacity:1}
.gitem.big{grid-column:span 2;grid-row:span 2}
.gitem.tall{grid-row:span 2}
.gitem.wide{grid-column:span 2}
.filter{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-bottom:46px}
.filter button{border:1px solid var(--line);background:#fff;color:var(--muted);padding:10px 22px;border-radius:50px;font-size:.85rem;font-weight:500;cursor:pointer;transition:.25s;font-family:inherit}
.filter button.active,.filter button:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.gitem.hide{display:none}

/* ============================================================ REFERENCE cards */
.ref-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.refcard{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;transition:.4s var(--ease)}
.refcard:hover{transform:translateY(-10px);box-shadow:var(--shadow)}
.refcard .ri{height:250px;overflow:hidden;cursor:pointer}
.refcard .ri img{width:100%;height:100%;object-fit:cover;transition:.8s var(--ease)}
.refcard:hover .ri img{transform:scale(1.09)}
/* Vorher/Nachher zum Ziehen */
.bafx-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}
@media(max-width:820px){.bafx-grid{grid-template-columns:1fr}}
.bafx-card{margin:0}
.bafx{position:relative;aspect-ratio:3/2;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);cursor:ew-resize;user-select:none;touch-action:pan-y;margin:0}
.bafx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;pointer-events:none;-webkit-user-drag:none}
.bafx-before{position:absolute;inset:0;clip-path:inset(0 50% 0 0);will-change:clip-path}
.bafx-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;transform:translateX(-50%);z-index:4;pointer-events:none;box-shadow:0 0 0 1px rgba(11,32,56,.18)}
.bafx-knob{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:48px;height:48px;border-radius:50%;background:#fff;box-shadow:0 6px 18px rgba(11,32,56,.4);display:grid;place-items:center;color:var(--navy)}
.bafx-knob svg{width:22px;height:22px}
.bafx-tag{position:absolute;bottom:14px;z-index:3;font-size:.66rem;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;padding:5px 12px;border-radius:20px;color:#fff;background:rgba(11,32,56,.62);backdrop-filter:blur(3px);pointer-events:none}
.bafx-tag-b{left:14px}
.bafx-tag-a{right:14px;background:rgba(200,162,75,.9)}
.bafx-title{margin:16px 2px 0;font-family:'Inter',sans-serif;font-size:1.22rem;color:var(--ink)}
.bafx-title span{display:block;font-family:'Inter',sans-serif;font-size:.9rem;font-weight:400;color:var(--muted);margin-top:5px;line-height:1.55}
.bafx-hint{display:flex;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:.86rem;margin:6px 0 34px}
.bafx-hint svg{width:20px;height:20px;stroke:var(--gold-dark)}

/* Grosser Showcase-Slider (Klettgaublick) */
.kgshow{height:clamp(340px,52vw,560px)!important;border-radius:var(--radius);box-shadow:var(--shadow);margin:0 auto}
.kgshow .rslides img{height:100%}
.kgshow .rs-arrow{opacity:1;width:46px;height:46px;font-size:1.5rem}
.kgshow .rs-cap{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:44px 30px 22px;color:#fff;font-family:'Inter',sans-serif;font-size:1.15rem;background:linear-gradient(180deg,rgba(11,32,56,0),rgba(11,32,56,.82));pointer-events:none;text-align:center;letter-spacing:.3px}
.kgshow-hint{text-align:center;color:var(--muted);font-size:.84rem;margin-top:14px;display:flex;align-items:center;justify-content:center;gap:8px}
.kgshow-hint svg{width:18px;height:18px;stroke:var(--gold-dark)}

/* Herzstueck-Story (Klettgaublick) */
.kg-story{display:grid;grid-template-columns:.92fr 1.08fr;background:linear-gradient(135deg,var(--navy-2),var(--navy));border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:46px}
.kg-story-img{position:relative;min-height:340px;overflow:hidden}
.kg-story-img img{width:100%;height:100%;object-fit:cover;transition:1.4s var(--ease)}
.kg-story:hover .kg-story-img img{transform:scale(1.05)}
.kg-story-img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,32,56,0) 55%,rgba(18,58,99,.9))}
.kg-story-text{padding:52px 54px;color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative}
.kg-story-text .eyebrow{color:var(--gold-light)}
.kg-story-quote{font-family:'Inter',sans-serif;font-size:clamp(1.35rem,2.2vw,1.85rem);line-height:1.48;margin:16px 0 18px;font-weight:500}
.kg-story-quote em{color:var(--gold-light);font-style:italic}
.kg-story-text p.kg-story-sub{color:rgba(255,255,255,.82);line-height:1.75;margin:0}
.kg-story-mark{position:absolute;right:44px;top:26px;font-family:'Inter',sans-serif;font-size:7rem;line-height:1;color:rgba(216,178,94,.16)}
@media(max-width:820px){.kg-story{grid-template-columns:1fr}.kg-story-img{min-height:230px}.kg-story-img::after{background:linear-gradient(180deg,rgba(11,32,56,0) 50%,rgba(18,58,99,.9))}.kg-story-text{padding:34px 26px}.kg-story-mark{right:24px;top:14px;font-size:5rem}}

/* Herzstueck-Zitat, vollflaechig (neu) */
.kg-quote{position:relative;isolation:isolate;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-top:46px;min-height:420px;display:flex;align-items:center;justify-content:center;text-align:center;padding:70px 40px}
.kg-quote img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transform:scale(1.05);transition:1.4s var(--ease)}
.kg-quote:hover img{transform:scale(1.1)}
.kg-quote::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,.72),rgba(11,32,56,.88));z-index:-1}
.kg-quote-inner{position:relative;max-width:760px;color:#fff}
.kg-quote-inner .eyebrow{color:var(--sky);justify-content:center}
.kg-quote-mark{font-family:'Inter',sans-serif;font-size:4.6rem;line-height:.5;color:var(--gold-light);opacity:.9;display:block;margin:10px 0 8px;text-shadow:0 2px 18px rgba(0,0,0,.5)}
.kg-quote-text{font-family:'Inter',sans-serif;font-size:clamp(1.5rem,2.6vw,2.15rem);line-height:1.5;font-weight:500;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.55)}
.kg-quote-text em{font-style:italic;color:var(--gold-light)}
.kg-quote-sub{color:#fff;opacity:.92;margin-top:22px;font-size:1.02rem;line-height:1.7;max-width:56ch;margin-inline:auto;text-shadow:0 1px 14px rgba(0,0,0,.5)}
@media(max-width:640px){.kg-quote{padding:52px 22px;min-height:360px}.kg-quote-mark{font-size:3.4rem}}

/* Chronologische Timeline (Ablauf, neu) */
.flow{position:relative;max-width:900px;margin:0 auto}
.flowstep{display:grid;grid-template-columns:56px 1fr;column-gap:20px}
.flow-rail{display:flex;flex-direction:column;align-items:center}
.flow-dot{width:50px;height:50px;border-radius:50%;background:linear-gradient(150deg,var(--navy-2),var(--navy));color:var(--gold-light);font-family:'Inter',sans-serif;font-weight:600;font-size:1.35rem;display:grid;place-items:center;z-index:2;box-shadow:0 6px 16px rgba(11,32,56,.28);flex:0 0 50px}
.flow-line{flex:1;width:2px;background:linear-gradient(var(--line-gold),var(--line));margin:4px 0}
.flowstep:last-child .flow-line{display:none}
.flow-card{display:grid;grid-template-columns:190px 1fr;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:24px;transition:.4s var(--ease)}
.flow-card:hover{transform:translateY(-4px);box-shadow:0 22px 48px -22px rgba(11,32,56,.4)}
.flow-media{position:relative;overflow:hidden;min-height:150px}
.flow-media img{width:100%;height:100%;object-fit:cover;transition:1.1s var(--ease)}
.flow-card:hover .flow-media img{transform:scale(1.07)}
.flow-body{padding:22px 28px}
.flow-body .eyebrow{color:var(--gold-dark);font-size:.7rem}
.flow-body h3{font-size:1.28rem;margin:7px 0 8px}
.flow-body h3::after{content:"";display:block;width:32px;height:2px;background:var(--gold);border-radius:2px;margin-top:9px}
.flow-body p{color:var(--muted);font-size:.94rem;line-height:1.65;margin:12px 0 0}
@media(max-width:680px){
  .flowstep{grid-template-columns:42px 1fr;column-gap:14px}
  .flow-dot{width:40px;height:40px;font-size:1.1rem;flex:0 0 40px}
  .flow-card{grid-template-columns:1fr}
  .flow-media{min-height:180px}
}
.flow-media.graphic{background:linear-gradient(150deg,var(--navy-2),var(--navy));display:grid;place-items:center}
.flow-media.graphic svg{width:60px;height:60px;stroke:var(--gold-light);fill:none;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}

/* ===== Ablauf – alternierende Zeitleiste (zflow) ===== */
.zflow{position:relative;max-width:1060px;margin:0 auto;padding:10px 0}
.zflow::before{content:"";position:absolute;top:0;bottom:0;left:50%;transform:translateX(-50%);width:3px;border-radius:3px;background:linear-gradient(var(--line-gold),var(--line-gold));opacity:.9}
.zflow-fill{position:absolute;top:0;left:50%;transform:translateX(-50%);width:3px;height:0;border-radius:3px;background:linear-gradient(var(--gold-light),var(--gold));box-shadow:0 0 14px rgba(200,162,75,.55);z-index:1;transition:height .15s linear}
.zstep{position:relative;display:grid;grid-template-columns:1fr 76px 1fr;align-items:center;margin-bottom:34px}
.zstep:last-child{margin-bottom:0}
.znode{grid-column:2;justify-self:center;position:relative;z-index:3;width:62px;height:62px;border-radius:50%;background:linear-gradient(150deg,var(--navy-2),var(--navy));color:var(--gold-light);font-family:'Inter',sans-serif;font-weight:600;font-size:1.55rem;display:grid;place-items:center;box-shadow:0 0 0 7px var(--tint),0 12px 26px -10px rgba(11,32,56,.6);animation:znodepulse 3.4s ease-in-out infinite}
@keyframes znodepulse{0%,100%{box-shadow:0 0 0 7px var(--tint),0 0 0 8px rgba(200,162,75,0),0 12px 26px -10px rgba(11,32,56,.6)}50%{box-shadow:0 0 0 7px var(--tint),0 0 0 15px rgba(200,162,75,.16),0 12px 26px -10px rgba(11,32,56,.6)}}
.zcard{grid-column:3;position:relative;background:#fff;border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:var(--shadow);transition:transform .45s var(--ease),box-shadow .45s var(--ease),border-color .45s var(--ease)}
.zstep.left .zcard{grid-column:1}
.zcard:hover{transform:translateY(-7px);box-shadow:0 28px 56px -24px rgba(11,32,56,.55);border-color:var(--line-gold)}
/* kleiner Pfeil zur Mittellinie */
.zcard::after{content:"";position:absolute;top:50%;width:16px;height:16px;background:#fff;border:1px solid var(--line);transform:translateY(-50%) rotate(45deg);transition:border-color .45s var(--ease)}
.zstep:not(.left) .zcard::after{left:-9px;border-right:0;border-top:0}
.zstep.left .zcard::after{right:-9px;border-left:0;border-bottom:0}
.zcard:hover::after{border-color:var(--line-gold)}
.zmedia{position:relative;aspect-ratio:16/10;overflow:hidden}
.zmedia img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease)}
.zcard:hover .zmedia img{transform:scale(1.08)}
.zmedia::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(11,32,56,.5),rgba(11,32,56,0) 55%)}
.zbadge{position:absolute;left:16px;bottom:14px;z-index:2;width:48px;height:48px;border-radius:14px;background:rgba(18,58,99,.72);border:1.5px solid rgba(216,178,94,.8);display:grid;place-items:center;transition:.4s var(--ease)}
.zbadge svg{width:24px;height:24px;stroke:var(--gold-light);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.zcard:hover .zbadge{background:var(--gold);border-color:var(--gold)}
.zcard:hover .zbadge svg{stroke:#fff}
.zbody{padding:22px 26px 26px}
.zbody .eyebrow{color:var(--gold-dark);font-size:.7rem}
.zbody h3{font-family:'Inter',sans-serif;font-size:1.34rem;font-weight:600;color:var(--navy);margin:9px 0 0}
.zbody h3::after{content:"";display:block;width:34px;height:2px;background:var(--gold);border-radius:2px;margin-top:11px;transition:width .45s var(--ease)}
.zcard:hover .zbody h3::after{width:64px}
.zbody p{color:var(--muted);font-size:.95rem;line-height:1.65;margin:13px 0 0}
@media(max-width:760px){
  .zflow{max-width:520px}
  .zflow::before,.zflow-fill{left:27px}
  .zstep{grid-template-columns:54px 1fr;column-gap:6px;margin-bottom:26px}
  .znode{grid-column:1;width:46px;height:46px;font-size:1.15rem;box-shadow:0 0 0 6px var(--tint),0 10px 22px -10px rgba(11,32,56,.6);animation:none}
  .zcard,.zstep.left .zcard{grid-column:2}
  .zcard::after{display:none}
}

/* Chronologische Schritte (Ablauf, alt) */
.journey{display:flex;flex-direction:column}
.jstep{display:grid;grid-template-columns:1fr 1fr;background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);margin-bottom:26px}
.jstep-img{position:relative;min-height:340px;overflow:hidden;background:var(--navy)}
.jstep-img img{width:100%;height:100%;object-fit:cover;display:block;transition:1.3s var(--ease)}
.jstep:hover .jstep-img img{transform:scale(1.06)}
.jstep-img::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(11,32,56,.5) 0%,rgba(11,32,56,0) 55%)}
.jstep-num{position:absolute;left:24px;top:14px;z-index:2;font-family:'Inter',sans-serif;font-size:4.6rem;font-weight:600;color:rgba(255,255,255,.92);line-height:1}
.jstep-txt{padding:46px 48px;display:flex;flex-direction:column;justify-content:center}
.jstep-txt h3{font-size:1.55rem;margin:10px 0 0}
.jstep-txt h3::after{content:"";display:block;width:40px;height:2px;background:var(--gold);border-radius:2px;margin-top:13px}
.jstep-txt p{color:var(--muted);margin-top:15px;line-height:1.75}
.jstep:nth-child(even) .jstep-img{order:2}
@media(max-width:860px){
  .jstep{grid-template-columns:1fr}
  .jstep:nth-child(even) .jstep-img{order:0}
  .jstep-img{min-height:230px}
  .jstep-txt{padding:30px 26px 34px}
  .jstep-num{font-size:3.4rem;left:18px}
}
/* Bildsequenz */
.seq{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.seq figure{margin:0;border-radius:14px;overflow:hidden;background:#fff;border:1px solid var(--line-gold);box-shadow:var(--shadow)}
.seq img{width:100%;height:210px;object-fit:cover;display:block}
.seq figcaption{padding:14px 16px 16px;font-size:.85rem;color:var(--muted);line-height:1.5}
.seq figcaption b{display:block;color:var(--gold-dark);font-size:.72rem;letter-spacing:1.6px;text-transform:uppercase;margin-bottom:5px}
@media(max-width:860px){.seq{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.seq{grid-template-columns:1fr}}

/* Element-Kacheln (Aussenanlage) */
.elem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.elem{position:relative;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);background:var(--navy);margin:0}
.elem img{width:100%;height:300px;object-fit:cover;display:block;transition:1.2s var(--ease)}
.elem:hover img{transform:scale(1.07)}
.elem::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,32,56,0) 34%,rgba(11,32,56,.9) 100%);pointer-events:none}
.elem figcaption{position:absolute;left:0;right:0;bottom:0;z-index:2;padding:24px 24px 22px;color:#fff}
.elem figcaption h3{color:#fff;font-size:1.28rem;margin:0}
.elem figcaption h3::after{content:"";display:block;width:34px;height:2px;background:var(--gold);border-radius:2px;margin-top:9px;transition:.5s var(--ease)}
.elem:hover figcaption h3::after{width:66px}
.elem figcaption p{color:rgba(255,255,255,.85);font-size:.88rem;margin:9px 0 0;line-height:1.5}
.elem-note{text-align:center;color:var(--muted);font-size:.92rem;margin-top:32px}
.elem-note strong{color:var(--ink);font-weight:600}
@media(max-width:960px){.elem-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.elem-grid{grid-template-columns:1fr;gap:16px}.elem img{height:230px}}

.refslider{position:relative;overflow:hidden;height:100%}
.refslider .rslides{display:flex;height:100%;transition:transform .55s var(--ease)}
.refslider .rslides img{flex:0 0 100%;width:100%;height:100%;object-fit:cover}
.refcard:hover .refslider .rslides img{transform:none}
.rs-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border-radius:50%;border:none;background:rgba(18,58,99,.5);color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:.3s var(--ease);backdrop-filter:blur(2px)}
.refcard:hover .rs-arrow{opacity:1}
.rs-arrow.rs-prev{left:10px}.rs-arrow.rs-next{right:10px}
.rs-arrow:hover{background:var(--gold)}
.rs-count{position:absolute;top:10px;right:10px;z-index:3;background:rgba(18,58,99,.55);color:#fff;font-size:.68rem;font-weight:600;letter-spacing:.5px;padding:3px 9px;border-radius:20px;backdrop-filter:blur(2px)}
.rs-dots{position:absolute;left:0;right:0;bottom:10px;z-index:3;display:flex;gap:6px;justify-content:center}
.rs-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer;transition:.3s var(--ease)}
.rs-dots span.on{background:var(--gold);width:18px;border-radius:4px}
@media(max-width:700px){.rs-arrow{opacity:1}}
.refcard .rb{padding:28px 30px 32px}
.refcard .tag{font-size:.72rem;letter-spacing:2px;text-transform:uppercase;color:var(--gold-dark);font-weight:700}
.refcard h3{font-size:1.4rem;margin:9px 0 8px}
.refcard p{color:var(--muted);font-size:.93rem}
.refcard.join{display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(150deg,var(--navy-2),var(--navy));color:#fff;padding:40px}
.refcard.join h3{color:#fff}
.refcard.join p{color:rgba(255,255,255,.86);margin-bottom:18px}

/* ============================================================ TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.testi-carousel{max-width:760px;margin:0 auto}
.testi-viewport{overflow:hidden;border-radius:var(--radius)}
.testi-track{display:flex;transition:transform .6s var(--ease)}
.testi-track .testi{flex:0 0 100%;min-width:100%}
.testi-controls{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:26px}
.testi-arrow{width:50px;height:50px;border-radius:50%;background:#fff;border:1px solid var(--line);color:var(--navy);font-size:1.7rem;line-height:1;cursor:pointer;display:grid;place-items:center;box-shadow:var(--shadow-s);transition:.25s var(--ease)}
.testi-arrow:hover{background:var(--gold);color:#16273f;border-color:var(--gold);transform:translateY(-2px)}
.testi-dots{display:flex;gap:9px;align-items:center}
.testi-dots button{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:var(--line);cursor:pointer;transition:.3s var(--ease)}
.testi-dots button.active{background:var(--gold);width:28px;border-radius:5px}
.section.navy .testi-dots button{background:rgba(255,255,255,.3)}
.section.navy .testi-dots button.active{background:var(--gold)}
/* Weisse Bewertungskarten auf Navy: Text wieder dunkel & lesbar */
.section.navy .testi{color:var(--ink)}
.section.navy .testi p{color:var(--ink)}
.section.navy .testi .who strong{color:var(--ink)}
.section.navy .testi .who span{color:var(--muted)}
@media(max-width:480px){.testi-arrow{width:44px;height:44px;font-size:1.5rem}.testi-controls{gap:12px}}
.testi{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;transition:.4s var(--ease)}
.testi:hover{transform:translateY(-6px);box-shadow:var(--shadow-s)}
.testi .q{font-family:'Inter',sans-serif;font-size:3rem;color:var(--gold);line-height:.6;height:26px}
.testi .stars{display:flex;gap:4px;margin:14px 0 12px}
.testi .stars svg{width:18px;height:18px;fill:var(--gold);stroke:none}
.testi p{color:var(--ink);font-size:1rem;margin-bottom:20px}
.testi .who{display:flex;align-items:center;gap:12px}
.testi .av{width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--sky);display:grid;place-items:center;font-family:'Inter',sans-serif;font-weight:600;overflow:hidden;flex:0 0 44px}
.testi .av img{width:100%;height:100%;object-fit:cover;border-radius:50%;display:block}
.testi .who strong{display:block;font-size:.95rem}
.testi .who span{font-size:.82rem;color:var(--muted)}

/* ============================================================ TEAM */
.team-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.member{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-align:center;transition:.4s var(--ease)}
.member:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.member .mi{height:270px;overflow:hidden;background:var(--tint-2)}
.member .mi img{width:100%;height:100%;object-fit:cover;object-position:top center;transition:.6s var(--ease)}
.member:hover .mi img{transform:scale(1.06)}
.member .mno{height:270px;display:grid;place-items:center;background:linear-gradient(150deg,var(--navy),var(--navy-3))}
.member .mno span{font-family:'Inter',sans-serif;font-size:3rem;color:var(--sky)}
.member .mb{padding:22px 16px 26px}
.member h4{font-size:1.18rem;margin-bottom:4px}
.member .role{font-size:.82rem;color:var(--muted);min-height:34px}
.member a{display:block;font-size:.8rem;color:var(--gold-dark);margin-top:9px;word-break:break-word}
.member a:hover{color:var(--navy)}

/* ============================================================ ACCORDION */
.jobs{max-width:920px;margin:0 auto}
.job{background:#fff;border:1px solid var(--line);border-radius:var(--radius-s);margin-bottom:14px;overflow:hidden;transition:.3s}
.job.open{box-shadow:var(--shadow);border-color:var(--line-gold)}
.job-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:26px 30px;cursor:pointer}
.job-head h3{font-size:1.22rem}
.job-head .pl{width:38px;height:38px;flex:none;border-radius:50%;border:1.6px solid var(--gold);color:var(--gold-dark);display:grid;place-items:center;font-size:1.4rem;transition:.3s}
.job.open .pl{background:var(--gold);color:#16273f;transform:rotate(45deg)}
.job-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.job-inner{padding:0 30px 30px}
.job-inner h5{font-size:.86rem;text-transform:uppercase;letter-spacing:1px;color:var(--gold-dark);margin:16px 0 8px}
.job-inner ul{padding-left:20px;color:var(--muted);font-size:.94rem}
.job-inner li{margin-bottom:5px}
.job-inner p{color:var(--muted)}

/* ============================================================ REGION */
.region-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:60px;align-items:center}
.region-map{background:linear-gradient(150deg,var(--navy),var(--navy-3));border-radius:var(--radius);padding:50px;color:#fff;position:relative;overflow:hidden;min-height:360px;display:flex;flex-direction:column;justify-content:center}
.region-map::before{content:"";position:absolute;top:-30%;right:-10%;width:360px;height:360px;background:radial-gradient(circle,rgba(216,178,94,.32),transparent 70%)}
.region-map h3{color:#fff;font-size:1.7rem;margin-bottom:10px;position:relative}
.region-map p{color:rgba(231,238,250,.85)}
.region-svg{width:100%;height:auto;margin:20px 0 6px;display:block;position:relative}
.region-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;position:relative}
.region-tags span{border:1px solid rgba(216,178,94,.45);border-radius:50px;padding:8px 16px;font-size:.85rem;color:#eef4fd}

/* ============================================================ BOX / KLETTGAUBLICK */
.klettg .box{position:relative;border-radius:30px;overflow:hidden;background:linear-gradient(135deg,var(--navy),var(--navy-3));color:#fff;padding:84px 50px;text-align:center}
.klettg .box::before{content:"";position:absolute;top:-30%;right:-8%;width:460px;height:460px;background:radial-gradient(circle,rgba(216,178,94,.32),transparent 70%)}
.klettg h2{color:#fff;font-size:clamp(2rem,3.8vw,2.9rem);margin:14px 0;position:relative}
.klettg p{color:rgba(255,255,255,.86);max-width:680px;margin:0 auto 30px;position:relative}
.klettg .btn{position:relative}

/* ============================================================ CTA band */
.ctaband{position:relative;isolation:isolate;background:linear-gradient(120deg,var(--navy),var(--navy-3));color:#fff;text-align:center;padding:104px 0;overflow:hidden}
.ctaband .cbg{position:absolute;inset:0;z-index:-2}
.ctaband .cbg img{width:100%;height:100%;object-fit:cover}
.ctaband .cbg::after{content:"";position:absolute;inset:0;background:linear-gradient(rgba(11,32,56,.9),rgba(11,32,56,.82))}
.ctaband h2{color:#fff;font-size:clamp(2rem,4.4vw,3.2rem);margin-bottom:16px}
.ctaband p{color:rgba(255,255,255,.9);max-width:600px;margin:0 auto 32px}

/* ============================================================ CONTACT */
.contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:50px;align-items:start}
.ci-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:40px}
.ci-row{display:flex;gap:16px;margin-bottom:22px}
.ci-row .ic{width:50px;height:50px;flex:none;border-radius:14px;background:var(--tint);color:var(--gold-dark);display:grid;place-items:center;transition:.4s var(--ease)}
.ci-row .ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ci-row:hover .ic{background:var(--gold);color:#fff}
.ci-row h4{font-size:.76rem;text-transform:uppercase;letter-spacing:1.4px;color:var(--gold-dark);margin-bottom:3px}
.ci-row p,.ci-row a{color:var(--ink);font-size:1rem}
.ci-row a:hover{color:var(--gold-dark)}
.form{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:42px}
.form .frow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form label{display:block;font-size:.82rem;color:var(--muted);margin:16px 0 7px;font-weight:500}
.form input,.form textarea,.form select{width:100%;background:var(--paper);border:1.4px solid var(--line);border-radius:12px;padding:14px 16px;color:var(--ink);font-family:inherit;font-size:.95rem;transition:.25s}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--gold);background:#fff}
.form textarea{resize:vertical;min-height:130px}
.form .btn{width:100%;justify-content:center;margin-top:22px}
.form .hint{font-size:.76rem;color:var(--muted);margin-top:14px}
.mapwrap{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-s);margin-top:36px;border:1px solid var(--line)}
.mapwrap iframe{width:100%;height:360px;border:0;display:block}

/* ============================================================ LEGAL */
.legal{padding:70px 0 100px}
.legal h2{font-size:1.6rem;margin:36px 0 12px;color:var(--navy)}
.legal h3{font-size:1.18rem;margin:24px 0 8px}
.legal p{color:var(--muted);margin-bottom:12px}
.legal .note{background:var(--tint);border-left:4px solid var(--gold);padding:16px 20px;border-radius:0 12px 12px 0;color:var(--ink);font-size:.92rem;margin:18px 0}
.legal address{font-style:normal;color:var(--ink);line-height:1.9}

/* ============================================================ FOOTER */
.site-footer{background:#0d2a4a;color:rgba(231,238,250,.66);padding:80px 0 30px}
.foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.2fr;gap:40px;margin-bottom:50px}
.foot-logo{height:78px;margin-bottom:20px}
.foot-slogan{font-family:'Inter',sans-serif;font-style:italic;color:var(--gold-light);margin:14px 0}
.site-footer h4{color:#fff;font-family:'Inter',sans-serif;font-size:1.15rem;margin-bottom:16px}
.site-footer a{color:rgba(231,238,250,.66);display:block;margin-bottom:9px;font-size:.92rem;transition:.2s}
.site-footer a:hover{color:var(--gold-light)}
.site-footer p{color:rgba(231,238,250,.66);font-size:.92rem;margin-bottom:9px}
.foot-social{display:flex;gap:10px;margin-top:14px}
.foot-social a{width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;margin:0}
.foot-social a svg{width:19px;height:19px}
.foot-social a:hover{background:var(--gold);color:#16273f}
.foot-bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:24px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:.82rem}
.foot-bottom a{display:inline;margin-left:18px}

/* ============================================================ LIGHTBOX */
.lb{position:fixed;inset:0;background:rgba(11,32,56,.96);z-index:300;display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}
.lb.on{display:flex}
.lb img{max-width:92%;max-height:88vh;border-radius:12px;box-shadow:0 40px 90px rgba(0,0,0,.6)}
.lb .x{position:absolute;top:22px;right:32px;color:#fff;font-size:2.6rem;line-height:1;cursor:pointer;z-index:2}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;border:none;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:2.2rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s,transform .2s;z-index:2}
.lb-nav:hover{background:var(--gold);transform:translateY(-50%) scale(1.06)}
.lb-prev{left:26px}
.lb-next{right:26px}
.lb-count{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:#fff;font-size:.9rem;letter-spacing:1px;background:rgba(0,0,0,.35);padding:6px 14px;border-radius:20px;z-index:2}
@media(max-width:640px){.lb-nav{width:46px;height:46px;font-size:1.8rem}.lb-prev{left:12px}.lb-next{right:12px}}

/* ============================================================ REVEAL */
.rv{opacity:0;transform:translateY(40px);transition:.9s var(--ease)}
.rv.in{opacity:1;transform:none}
.rv-l{opacity:0;transform:translateX(-46px);transition:.9s var(--ease)}
.rv-l.in{opacity:1;transform:none}
.rv-r{opacity:0;transform:translateX(46px);transition:.9s var(--ease)}
.rv-r.in{opacity:1;transform:none}
.d1{transition-delay:.08s}.d2{transition-delay:.16s}.d3{transition-delay:.24s}.d4{transition-delay:.32s}.d5{transition-delay:.4s}

/* ============================================================ RESPONSIVE */
@media(max-width:1050px){
  .split,.split.wide-l,.contact-grid,.region-grid{grid-template-columns:1fr;gap:44px}
  .split-img img{height:auto;aspect-ratio:16/10;max-height:460px}
  .svc-grid{grid-template-columns:1fr}
  .proc-grid,.feat-grid,.testi-grid,.video-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:repeat(3,1fr)}
  .ggrid{grid-template-columns:repeat(3,1fr)}
  .ref-grid{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr 1fr;gap:34px}
}
@media(max-width:1100px){
  .burger{display:flex}
  .logo-link{position:relative;z-index:210}
  .social-bar{display:none}
  .site-header{background:var(--navy);-webkit-backdrop-filter:none;backdrop-filter:none}
  .site-header.small{background:var(--navy)}
  .main-nav{position:fixed;inset:0 0 0 auto;width:86%;max-width:380px;height:100vh;height:100dvh;background:var(--navy);flex-direction:column;padding:calc(var(--header-h) + 24px) 26px 40px;transform:translateX(100%);transition:transform .4s var(--ease);overflow-y:auto;-webkit-overflow-scrolling:touch;box-shadow:-20px 0 60px rgba(0,0,0,.5);z-index:190}
  .main-nav.open{transform:translateX(0)}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:2px}
  .main-nav a{padding:14px 12px;font-size:1.05rem}
  .main-nav>ul>li>a::after{display:none}
  .main-nav .nav-cta{margin:12px 0 0;text-align:center;justify-content:center}
  .has-sub>a::before{float:right}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(255,255,255,.06);border:0;margin:2px 0 6px;max-height:0;overflow:hidden;transition:.35s;padding:0 8px}
  .has-sub.open .sub{max-height:min(360px,50vh);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 8px}
  .sub li a{color:#d7e3f2}
  .sub li a:hover{background:rgba(255,255,255,.08);color:#fff}
  .nav-social{display:flex;gap:10px;justify-content:center;margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
  .nav-social a{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#eaf1fb}
  .nav-social a svg{width:20px;height:20px}
  .nav-social a:hover{background:var(--gold);color:#16273f}
}
@media(max-width:760px){
  :root{--header-h:78px}
  .section{padding:72px 0}
  .section.tight{padding:54px 0}
  .logo{height:56px;margin-left:4px}
  .site-header.small .logo{height:48px}
  .hero-inner{padding:40px 0}
  .hero .slogan{font-size:1.1rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .hero-actions .btn{justify-content:center;width:100%}
  .pagehero{padding:86px 0 58px}
  .head{margin-bottom:40px}
  .split-img .badge{left:12px;bottom:-18px;padding:18px 22px}
  .split-img .badge strong{font-size:2rem}
  .ctaband{padding:74px 0}
  .klettg .box{padding:56px 26px}
  .statbar .wrap{grid-template-columns:1fr 1fr;gap:30px}
  .stat+.stat::before{display:none}
  .proc-grid,.feat-grid,.testi-grid,.team-grid,.ref-grid,.video-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:28px}
  .form .frow{grid-template-columns:1fr}
  .split-img img{height:420px}
  .ggrid{grid-template-columns:1fr 1fr;grid-auto-rows:170px}
  .gitem.big{grid-column:span 2;grid-row:span 1}
  .burger{display:flex}
  .social-bar{display:none}
  .main-nav{position:fixed;inset:0 0 0 auto;width:84%;max-width:370px;background:var(--navy);flex-direction:column;padding:104px 26px 40px;transform:translateX(100%);transition:.4s var(--ease);overflow-y:auto;box-shadow:-20px 0 60px rgba(0,0,0,.5)}
  .main-nav.open{transform:translateX(0)}
  .main-nav>ul{flex-direction:column;align-items:stretch;gap:2px}
  .main-nav a{padding:14px 12px;font-size:1.05rem}
  .main-nav>ul>li>a::after{display:none}
  .main-nav .nav-cta{margin:12px 0 0;text-align:center;justify-content:center}
  .has-sub>a::before{float:right}
  .sub{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;background:rgba(255,255,255,.06);border:0;margin:2px 0 6px;max-height:0;overflow:hidden;transition:.35s;padding:0 8px}
  .has-sub.open .sub{max-height:min(360px,50vh);overflow-y:auto;-webkit-overflow-scrolling:touch;padding:6px 8px}
  .sub li a{color:#d7e3f2}
  .sub li a:hover{background:rgba(255,255,255,.08);color:#fff}
  .nav-social{display:flex;gap:10px;justify-content:center;margin-top:22px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12)}
  .nav-social a{width:46px;height:46px;border-radius:50%;background:rgba(255,255,255,.08);display:grid;place-items:center;color:#eaf1fb}
  .nav-social a svg{width:20px;height:20px}
  .nav-social a:hover{background:var(--gold);color:#16273f}
}
@media(max-width:480px){
  .wrap{width:90%}
  .ggrid{grid-template-columns:1fr;grid-auto-rows:230px}
  .gitem.big,.gitem.wide{grid-column:span 1}
  .team-grid{grid-template-columns:1fr 1fr;gap:16px}
  .stat strong{font-size:2.2rem}
  .stat span{font-size:.76rem}
  .svc-body,.form,.ci-card,.klettg .box,.region-map{padding:32px 22px}
  .logo{height:48px;margin-left:2px}
  .site-header.small .logo{height:42px}
  .hero h1{font-size:2.5rem}
  .hero .slogan{font-size:1rem}
  .head h2{font-size:1.95rem}
  .head p{font-size:1rem}
  .pagehero h1{font-size:2.1rem}
  .pagehero p{font-size:1rem}
  .marquee span{font-size:1.15rem;padding:0 18px;gap:18px}
  .marquee span::after{margin-left:0}
  .video .play{width:60px;height:60px}
  .split-img img{height:290px}
  .svc{min-height:400px}
  .svc-body h3{font-size:1.8rem}
  .testi{padding:30px 24px}
  .section-head,.head{margin-bottom:36px}
  .btn{padding:15px 28px}
}

/* ============================================================ ACCESSIBILITY: reduzierte Bewegung */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .rv,.rv-l,.rv-r{opacity:1!important;transform:none!important}
  .hero-bg img,.pagehero-bg img{animation:none!important;transform:none!important}
  .marquee-track{animation:none!important}
}
/* Fokus-Sichtbarkeit für Tastaturnutzer */
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
/* Ausgewogene Höhe des Willkommens-Bilds auf dem Desktop */
@media(min-width:761px){#willkommen .split-img img{height:500px}}

/* ============================================================ HERO STARTSEITE: Text unten, Gesichter der Geschaeftsfuehrung frei (Okt. 2026) */
.hero{align-items:flex-end}
.hero-inner{padding:0 0 clamp(44px,7vh,96px)}
.hero-bg img{object-position:53% 32%}
.hero-bg::after{background:linear-gradient(0deg,rgba(11,32,56,.94) 0%,rgba(11,32,56,.72) 26%,rgba(11,32,56,.22) 52%,rgba(11,32,56,.12) 70%,rgba(11,32,56,.35) 100%)}
.hero .slogan,.hero h1{text-shadow:0 2px 24px rgba(11,32,56,.55)}
.hero h1{font-size:clamp(2.6rem,5.6vw,4.8rem);margin:6px 0 26px}
@media(max-width:1024px){
  .hero{min-height:calc(100svh - 74px)}
  .hero-bg img{object-position:53% 28%}
}
@media(max-width:560px){
  .hero h1{font-size:2.45rem;line-height:1.08;margin:4px 0 22px}
  .hero .slogan{font-size:1.05rem;margin-bottom:8px}
  .hero-actions{gap:12px}
  .hero-inner{padding-bottom:36px}
}
@media(max-width:600px){
  .hero{background:#0b2038}
  .hero-bg{bottom:auto;height:66%}
  .hero-bg img{object-position:53% 0}
  .hero-bg::after{background:linear-gradient(0deg,#0b2038 0%,rgba(11,32,56,.55) 22%,rgba(11,32,56,0) 48%,rgba(11,32,56,.25) 100%)}
  .hero-actions .btn{padding:14px 24px}
}
@media(max-width:600px) and (max-height:720px){
  .hero-bg{height:60%}
  .hero h1{font-size:2.05rem;margin:2px 0 16px}
  .hero .slogan{font-size:.95rem;margin-bottom:4px}
  .hero-actions .btn{padding:12px 20px}
  .hero-inner{padding-bottom:24px}
}
/* HERO MOBIL v3: Slogan startet auf Hoehe der Koepfe der untersten Reihe, kein Leerraum */
@media(max-width:600px){
  .hero{display:block;min-height:0}
  .hero-bg{bottom:auto;height:var(--mh,470px)}
  .hero-bg img{object-position:53% 0}
  .hero-bg::after{background:linear-gradient(0deg,#0b2038 0%,rgba(11,32,56,.82) 30%,rgba(11,32,56,.35) 50%,rgba(11,32,56,0) 64%,rgba(11,32,56,.2) 100%)}
  .hero-inner{padding:var(--mt,228px) 0 34px}
}
@media(max-width:600px) and (max-height:720px){
  .hero-bg{height:var(--mh,470px)}
  .hero-inner{padding:var(--mt,228px) 0 26px}
}
/* Titelbilder: einheitlicher Hintergrund beim Laden, Bild blendet erst komplett geladen ein */
.hero,.pagehero{background:#0b2038}
.hero-bg img,.pagehero-bg img{opacity:0;transition:opacity .7s ease}
.hero-bg img.ld,.pagehero-bg img.ld{opacity:1}
/* HERO MOBIL v4: Slogan startet bei den Fuessen der Mannschaft; Bild fest im Rahmen (kein Ueberstand beim Zoom) */
.hero-bg,.pagehero-bg{overflow:hidden}
@media(max-width:600px){
  .hero-bg{height:var(--mh,500px)}
  .hero-inner{padding-top:var(--mt2,350px)}
  .hero-bg::after{background:linear-gradient(0deg,#0b2038 0%,#0b2038 6%,rgba(11,32,56,.8) 24%,rgba(11,32,56,.3) 40%,rgba(11,32,56,0) 54%,rgba(11,32,56,.2) 100%)}
}

/* ============================================================ HERO-TITEL „Jeder Stein erzählt eine Geschichte“ */
.hero .slogan{letter-spacing:.01em}
.hero h1.hero-title{display:flex;flex-direction:column;gap:.18em;margin:6px 0 30px;max-width:15ch;letter-spacing:-.02em;line-height:1.02;text-shadow:none}
.hero-title .ht-1{font-size:clamp(2.5rem,5vw,4.5rem);font-weight:500;
  background:linear-gradient(180deg,#ffffff 0%,#ffffff 55%,#e9e2d3 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 2px rgba(6,20,38,.45)) drop-shadow(0 10px 28px rgba(6,20,38,.55))}
.hero-title .ht-2{font-style:italic;font-weight:400;font-size:clamp(1.6rem,2.9vw,2.6rem);letter-spacing:-.005em;line-height:1.15;color:var(--gold-light);
  text-shadow:0 0 26px rgba(226,201,131,.32),0 2px 2px rgba(6,20,38,.5),0 8px 24px rgba(6,20,38,.55)}
@media(max-width:600px){
  .hero h1.hero-title{max-width:none;margin:4px 0 22px;gap:.22em}
  .hero-title .ht-1{font-size:2.15rem;line-height:1.06}
  .hero-title .ht-2{font-size:1.45rem}
}
@media(max-width:600px) and (max-height:720px){
  .hero-title .ht-1{font-size:1.9rem}
  .hero-title .ht-2{font-size:1.3rem}
}
/* HERO-TITEL v2: ein Satz, Zeile 1 breit auf Desktop */
.hero h1.hero-title{max-width:none;gap:.12em}
@media(min-width:900px){
  .hero-title .ht-1{white-space:nowrap;font-size:clamp(2.6rem,4.3vw,4.6rem);letter-spacing:-.022em}
  .hero-title .ht-2{font-size:clamp(1.9rem,3.05vw,3.25rem)}
}
.hero .hero-inner{max-width:none}
.hero-title .ht-1{display:block;width:max-content;max-width:100%;padding-right:.08em}
@media(max-width:899px){.hero-title .ht-1{width:auto}}
/* HERO-TITEL v3: zentriert, groesser, mehr Praesenz */
.hero .hero-inner{text-align:center;display:flex;flex-direction:column;align-items:center}
.hero h1.hero-title{align-items:center;gap:.16em;margin:0 0 34px}
.hero-title .ht-1{margin:0 auto;font-weight:600;
  filter:drop-shadow(0 1px 1px rgba(6,20,38,.55)) drop-shadow(0 6px 14px rgba(6,20,38,.45)) drop-shadow(0 22px 48px rgba(6,20,38,.55))}
.hero-title .ht-2{font-weight:500;text-shadow:0 0 34px rgba(226,201,131,.42),0 1px 1px rgba(6,20,38,.6),0 10px 30px rgba(6,20,38,.6)}
.hero-title .ht-2::before,.hero-title .ht-2::after{content:"";display:inline-block;vertical-align:middle;width:.9em;height:1px;margin:0 .45em .12em;background:linear-gradient(90deg,rgba(226,201,131,0),rgba(226,201,131,.85))}
.hero-title .ht-2::after{background:linear-gradient(90deg,rgba(226,201,131,.85),rgba(226,201,131,0))}
.hero .hero-actions{justify-content:center}
@media(min-width:900px){
  .hero-title .ht-1{font-size:clamp(3rem,5vw,5.4rem);letter-spacing:-.025em}
  .hero-title .ht-2{font-size:clamp(2.1rem,3.4vw,3.7rem)}
}
@media(max-width:899px) and (min-width:601px){
  .hero-title .ht-1{font-size:clamp(2.6rem,6.4vw,3.4rem)}
  .hero-title .ht-2{font-size:clamp(1.8rem,4.2vw,2.3rem)}
}
@media(max-width:600px){
  .hero-title .ht-1{font-size:2.35rem;line-height:1.05}
  .hero-title .ht-2{font-size:1.6rem}
  .hero-title .ht-2::before,.hero-title .ht-2::after{width:.6em;margin:0 .3em .12em}
}
@media(max-width:600px) and (max-height:720px){
  .hero-title .ht-1{font-size:2.05rem}
  .hero-title .ht-2{font-size:1.4rem}
}
@media(max-width:600px){
  .hero-title .ht-2::before,.hero-title .ht-2::after{display:none}
  .hero-title .ht-2{font-size:1.42rem;white-space:nowrap}
}
@media(max-width:380px){ .hero-title .ht-2{font-size:1.3rem} .hero-title .ht-1{font-size:2.05rem} }
/* HERO-TITEL v4: lesbarer (schlanker, mehr Luft, klarer Schatten) + Text unterhalb der Mannschaft */
.hero-title .ht-1{font-weight:500;letter-spacing:-.008em;background:none;-webkit-background-clip:border-box;background-clip:border-box;color:#fff;filter:none;
  text-shadow:0 1px 2px rgba(6,20,38,.55),0 6px 22px rgba(6,20,38,.45)}
.hero-title .ht-2{font-weight:400;letter-spacing:.005em;text-shadow:0 1px 2px rgba(6,20,38,.6),0 0 22px rgba(226,201,131,.18)}
.hero h1.hero-title{gap:.24em;line-height:1.1}
@media(min-width:601px){
  .hero{align-items:flex-end}
  .hero-bg{bottom:auto;height:var(--dh,74%)}
  .hero-bg img{object-position:50% 18%}
  .hero-bg::after{background:linear-gradient(0deg,#0b2038 0%,rgba(11,32,56,.55) 14%,rgba(11,32,56,.12) 34%,rgba(11,32,56,.08) 75%,rgba(11,32,56,.3) 100%)}
  .hero-inner{padding-bottom:clamp(36px,5vh,64px)}
}
@media(max-width:600px){ .hero-inner{padding-top:var(--mt3,400px)} }
@media(min-width:601px) and (max-width:1024px) and (orientation:portrait){ .hero-bg{height:58%} .hero{min-height:0} .hero-inner{padding-top:calc(58vh - 200px)} }

/* === Kopfzeile (nur Desktop) + edlere Versal-Typografie === */
.topbar{background:#0b2038;color:#d9e2ee;border-bottom:1px solid rgba(216,178,94,.18);font-size:.8rem;line-height:1.35}
.topbar-in{display:flex;align-items:center;justify-content:flex-start;gap:54px;min-height:48px;padding:7px 0}
.tb-item{display:flex;align-items:center;gap:12px;color:#d9e2ee;transition:color .25s}
.tb-item svg{width:20px;height:20px;flex:none;fill:none;stroke:var(--gold);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.tb-item small{display:block;font-size:.64rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--gold-light);margin-bottom:1px}
a.tb-item:hover{color:#fff}
@media(max-width:1100px){.topbar{display:none}}
@media(min-width:1101px){.hero{min-height:calc(100vh - var(--header-h) - 48px)}}

/* Menü in Versalien */
@media(min-width:1101px){
  .main-nav>ul>li>a{text-transform:uppercase;letter-spacing:1.6px;font-size:.78rem;font-weight:600}
  .main-nav .nav-cta{letter-spacing:1.8px}
}
.main-nav .sub a{text-transform:none;letter-spacing:.2px}
@media(max-width:1100px){.main-nav>ul>li>a{text-transform:uppercase;letter-spacing:1.8px;font-size:.92rem;font-weight:600}}

@media(min-width:1101px){
  .main-nav>ul>li.has-sub>a{display:flex;align-items:center;gap:6px}
  .has-sub>a::before{order:2;margin-left:0;top:0;font-size:.6rem}
}
/* Kopfzeile v2: hell, großzügiger */
.topbar{background:#fff;color:var(--navy);border-bottom:1px solid rgba(200,162,75,.35);font-size:.86rem;box-shadow:inset 0 -1px 0 rgba(18,58,99,.04)}
.topbar-in{min-height:72px;gap:64px;padding:12px 0}
.tb-item{gap:14px;color:var(--navy)}
.tb-item svg{width:30px;height:30px;stroke:var(--gold-dark);stroke-width:1.5}
.tb-item small{font-size:.74rem;font-weight:800;letter-spacing:1.6px;color:var(--navy);margin-bottom:2px}
.tb-item span{color:var(--muted)}
a.tb-item:hover,a.tb-item:hover span{color:var(--gold-dark)}
@media(min-width:1101px){.hero{min-height:calc(100vh - var(--header-h) - 72px)}}
/* Menü etwas größer und weiter */
@media(min-width:1101px){
  .main-nav>ul>li>a{font-size:.86rem;letter-spacing:2.2px}
  .main-nav .nav-cta{letter-spacing:2.4px}
}
@media(min-width:1101px) and (max-width:1360px){
  .main-nav>ul>li>a{font-size:.8rem;letter-spacing:1.6px;padding:10px 10px}
}
.logo-link{flex:none}.logo{width:auto;max-width:none}
@media(min-width:1101px) and (max-width:1260px){
  .logo{height:66px}.site-header.small .logo{height:52px}
  .main-nav>ul>li>a{font-size:.74rem;letter-spacing:1.1px;padding:10px 8px}
  .main-nav .nav-cta{padding:10px 16px;margin-left:4px}
}
/* Hero unten: sanfter, hellerer Blauverlauf (angelehnt an die Menüleiste) */
.hero{background:linear-gradient(180deg,#143e69 0%,#143e69 58%,#1b4977 80%,#235688 100%)}
@media(min-width:601px){
  .hero-bg::after{background:linear-gradient(0deg,#143e69 0%,rgba(20,62,105,.6) 14%,rgba(20,62,105,.14) 34%,rgba(20,62,105,.06) 75%,rgba(20,62,105,.28) 100%)}
}
@media(max-width:600px){
  .hero{background:linear-gradient(180deg,#143e69 0%,#143e69 50%,#1b4977 78%,#235688 100%)}
  .hero-bg::after{background:linear-gradient(0deg,#143e69 0%,#143e69 6%,rgba(20,62,105,.8) 24%,rgba(20,62,105,.3) 40%,rgba(20,62,105,0) 54%,rgba(20,62,105,.2) 100%)}
}
.hero-title .ht-1{text-shadow:0 1px 2px rgba(6,20,38,.5),0 6px 20px rgba(6,20,38,.35)}
/* Logo am Desktop weiter nach links */
@media(min-width:1261px){.logo{margin-left:-36px}}
@media(min-width:1101px) and (max-width:1260px){.logo{margin-left:-14px}}
.hero{background:linear-gradient(180deg,#143e69 0%,#143e69 var(--dh,74%),#1d4c7e calc(var(--dh,74%) + 12%),#245a8d 100%)}
@media(max-width:600px){
  .hero{background:linear-gradient(180deg,#143e69 0,#143e69 var(--mh,500px),#1d4c7e calc(var(--mh,500px) + 140px),#245a8d 100%)}
}
@media(min-width:601px) and (max-width:1024px) and (orientation:portrait){.hero{background:linear-gradient(180deg,#143e69 0%,#143e69 58%,#1d4c7e 70%,#245a8d 100%)}}
/* HERO DESKTOP v5: Gruppenfoto komplett (kein Beschnitt), Verlauf erst unter den Füßen */
@media(min-width:1025px){
  .hero{display:block;min-height:0;--ih:calc(100vw * 1768 / 3840);
    background:linear-gradient(180deg,#143e69 0,#143e69 var(--ih),#1c4a7b calc(var(--ih) + 160px),#245a8d 100%)}
  .hero-bg{inset:0 0 auto 0;height:var(--ih)}
  .hero-bg img{object-fit:cover;object-position:50% 50%;animation:none;transform:none}
  .hero-bg::after{background:linear-gradient(0deg,#143e69 0%,rgba(20,62,105,.93) 5%,rgba(20,62,105,.74) 10%,rgba(20,62,105,.46) 15%,rgba(20,62,105,.2) 20%,rgba(20,62,105,.05) 24%,rgba(20,62,105,0) 27%)}
  .hero-inner{padding-top:calc(var(--ih) * .81);padding-bottom:clamp(56px,7vh,84px)}
}
@media(min-width:1025px){
  .hero-bg::after{background:linear-gradient(0deg,#143e69 0%,rgba(20,62,105,.94) 6%,rgba(20,62,105,.74) 11%,rgba(20,62,105,.46) 16%,rgba(20,62,105,.2) 20.5%,rgba(20,62,105,.06) 23.5%,rgba(20,62,105,0) 26%)}
  .hero-title .ht-1{text-shadow:0 1px 3px rgba(6,20,38,.6),0 8px 30px rgba(6,20,38,.45)}
}
/* HERO DESKTOP v7: wie im Ursprungsentwurf – Foto vollflächig, dezenter Filter, Text unten mittig über der vorderen Reihe */
@media(min-width:1025px){
  .hero{display:flex;align-items:flex-end;min-height:calc(100vh - var(--header-h) - 72px);background:#0b2038}
  .hero-bg{inset:0;width:auto;height:auto;transform:none;-webkit-mask-image:none;mask-image:none}
  .hero-bg img{object-fit:cover;object-position:50% 45%;animation:none;transform:none}
  .hero-bg::after{background:
    linear-gradient(0deg,rgba(11,32,56,.78) 0%,rgba(11,32,56,.58) 22%,rgba(11,32,56,.3) 45%,rgba(11,32,56,.12) 70%,rgba(11,32,56,.18) 100%),
    rgba(11,32,56,.12)}
  .hero-inner{padding-top:0;padding-bottom:clamp(44px,7vh,88px)}
  .hero h1.hero-title{margin:0 0 26px;gap:.16em}
  .hero-title .ht-1{text-shadow:0 2px 4px rgba(6,20,38,.55),0 10px 34px rgba(6,20,38,.55)}
  .hero-title .ht-2{text-shadow:0 2px 3px rgba(6,20,38,.6),0 8px 26px rgba(6,20,38,.5)}
}
@media(min-width:1025px) and (max-width:1100px){.hero{min-height:calc(100vh - var(--header-h))}}
@media(min-width:1025px){
  .hero-bg::after{background:linear-gradient(0deg,rgba(11,32,56,.82) 0%,rgba(11,32,56,.68) 18%,rgba(11,32,56,.46) 34%,rgba(11,32,56,.2) 55%,rgba(11,32,56,.1) 75%,rgba(11,32,56,.18) 100%)}
}
html,body{overflow-anchor:none}

/* Galerie: Raster ohne Luecken trotz breiter/hoher Kacheln */
.ggrid{grid-auto-flow:dense}

/* ============================================================ NUR SERIFENLOSE SCHRIFT */
h1,h2,h3,h4,h5,.dh{font-weight:500;letter-spacing:-.015em}
em,i,.hero .slogan,.host-quote p,.foot-slogan{font-style:normal}
.hero-title .ht-1{font-weight:300;letter-spacing:-.025em;line-height:1.05}
.hero-title .ht-2{font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:.22em;font-size:clamp(.95rem,1.45vw,1.35rem);line-height:1.4;margin-top:.5em}
.hero-title .ht-2::before,.hero-title .ht-2::after{width:2.4em;margin:0 .9em .2em}
@media(min-width:1025px){
  .hero-title .ht-1{font-size:clamp(2.8rem,4.6vw,5rem)}
  .hero-title .ht-2{font-size:clamp(1rem,1.4vw,1.35rem)}
}
@media(max-width:600px){
  .hero-title .ht-1{font-weight:300;font-size:2.15rem;line-height:1.12}
  .hero-title .ht-2{font-size:.82rem;letter-spacing:.16em}
  .hero-title .ht-2::before,.hero-title .ht-2::after{width:1.2em;margin:0 .5em .2em}
}

/* ============================================================ TYPOGRAFIE IM STIL GROSSER PREMIUM-MARKEN
   Vorbild: Apple (SF Pro), Rolex (Helvetica Now), Tesla (Universal Sans), BMW, Porsche –
   klare Groteskschrift, Ueberschriften halbfett mit engem Laufweitenausgleich, Fliesstext ruhig. */
body{font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.006em}
h1,h2,h3,h4,h5,.dh{font-family:'Inter',-apple-system,'Helvetica Neue',Arial,sans-serif;font-weight:600;letter-spacing:-.022em;line-height:1.08}
.head h2{letter-spacing:-.028em}
.eyebrow{font-weight:600;letter-spacing:.16em}
.btn{font-weight:500;letter-spacing:-.005em}
.main-nav a{font-weight:500}
@media(min-width:1101px){.main-nav>ul>li>a{font-weight:500;letter-spacing:.12em;font-size:.84rem}}
.tb-item small{font-weight:600;letter-spacing:.12em}
/* Startseite Titelbild */
.hero-title .ht-1{font-weight:600;letter-spacing:-.035em;line-height:1.02}
.hero-title .ht-2{font-weight:500;text-transform:none;letter-spacing:-.012em;font-size:clamp(1.35rem,2.1vw,2rem);margin-top:.35em}
.hero-title .ht-2::before,.hero-title .ht-2::after{width:1.6em;margin:0 .6em .22em}
@media(min-width:1025px){.hero-title .ht-1{font-size:clamp(2.8rem,4.5vw,4.9rem)}.hero-title .ht-2{font-size:clamp(1.35rem,2vw,1.95rem)}}
@media(max-width:600px){.hero-title .ht-1{font-weight:600;font-size:2.05rem;line-height:1.1}.hero-title .ht-2{font-size:1.15rem;letter-spacing:-.01em}.hero-title .ht-2::before,.hero-title .ht-2::after{width:.9em;margin:0 .4em .2em}}

/* Zeitstrahl: Logo statt Foto (komplett sichtbar, kein Zoom) */
.hcard-img.hcard-logo{background:#fff}
.hcard-img.hcard-logo img{object-fit:contain;padding:6% 8%;transform:none!important}
.hcard-img.hcard-logo{display:flex;align-items:center;justify-content:center}
.hcard-img.hcard-logo img{padding:8% 7%;height:auto;max-height:100%}
@media(max-width:640px){.hcard-img.hcard-logo{aspect-ratio:auto;height:auto}.hcard-img.hcard-logo img{padding:28px 30px 8px}}
/* Handymenue: Schatten nur, wenn es offen ist (sonst grauer Streifen am rechten Rand) */
@media(max-width:1100px){.main-nav:not(.open){box-shadow:none}}
/* Logo-Feld im Zeitstrahl vom Textbereich abgrenzen: dunkelblaue Trennlinie */
.hcard-img.hcard-logo{border-right:3px solid var(--navy)}
@media(max-width:640px){.hcard-img.hcard-logo{border-right:0;border-bottom:3px solid var(--navy)}.hcard-img.hcard-logo img{padding:24px 30px}}
/* Trennlinie sanft: feine Linie im Grau des Logos, laeuft oben und unten aus */
.hcard-img.hcard-logo{border:0!important;position:relative}
.hcard-img.hcard-logo::after{content:"";position:absolute;top:14%;bottom:14%;right:0;width:1px;background:linear-gradient(180deg,rgba(142,150,158,0),rgba(142,150,158,.6) 30%,rgba(142,150,158,.6) 70%,rgba(142,150,158,0))}
@media(max-width:640px){.hcard-img.hcard-logo::after{top:auto;bottom:0;left:12%;right:12%;width:auto;height:1px;background:linear-gradient(90deg,rgba(142,150,158,0),rgba(142,150,158,.6) 30%,rgba(142,150,158,.6) 70%,rgba(142,150,158,0))}}

/* ============================================================ EINZUGSGEBIET-KARTE (statisch, interaktiv) */
.eg-chip{font:inherit;cursor:pointer;transition:background .25s,border-color .25s,color .25s,transform .25s}
.eg-chip:hover{border-color:var(--gold);transform:translateY(-1px)}
.eg-chip.home{border-color:var(--gold);background:var(--tint);font-weight:700}
.eg-chip.on{background:#d9822b;border-color:#d9822b;color:#fff;box-shadow:0 8px 20px -10px rgba(217,130,43,.8)}
.egmap{position:relative;max-width:1100px;margin:0 auto 34px;border-radius:22px;overflow:hidden;background:#0d2440;box-shadow:0 30px 70px -40px rgba(11,32,56,.7)}
.eg-svg{display:block;width:100%;height:auto}
.eg-nb{fill:none;stroke:#b9c4d6;stroke-opacity:.14;stroke-width:.9;vector-effect:non-scaling-stroke}
.eg-nb.ch{fill:#0a1f38;fill-opacity:.45}
.eg-kreis-fill{fill:#123a63}
.eg-kreis-glow{fill:none;stroke:#c8a24b;stroke-width:12;stroke-opacity:.12;stroke-linejoin:round}
.eg-kreis-line{fill:none;stroke:#c8a24b;stroke-width:2.6;stroke-linejoin:round;pointer-events:none}
.eg-gem{fill:#17406b;stroke:#e2c983;stroke-opacity:.55;stroke-width:1.1;stroke-linejoin:round;cursor:pointer;transition:fill .35s ease}
.eg-gem:hover{fill:#1d4c7e}
.eg-gem.home{fill:#c8a24b;stroke-opacity:.9}
.eg-gem.on{fill:#d9822b;stroke:#ffd9a8;stroke-opacity:1;stroke-width:2}
.eg-rivers path{fill:none;stroke:#b9c4d6;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}
.eg-riv.rhein{stroke-width:3;stroke-opacity:.5}
.eg-riv.bach{stroke-width:1.2;stroke-opacity:.28}
.eg-lab{font-family:'Inter',sans-serif;font-weight:600;font-size:12.5px;fill:#fff;text-anchor:middle;paint-order:stroke;stroke:#0d2a4a;stroke-opacity:.6;stroke-width:2.4px;stroke-linejoin:round;pointer-events:none;transition:opacity .3s}
.eg-lab.home{fill:#16273f;stroke:none;font-weight:700}
.eg-lab.on{font-weight:800;fill:#fff;stroke:#7a3d0c;stroke-opacity:.8}
.eg-note{font-family:'Inter',sans-serif;font-weight:700;font-size:15px;letter-spacing:.3em;fill:#b9c4d6;fill-opacity:.7;text-anchor:middle}
.eg-note.it{letter-spacing:.04em;font-weight:500;fill:#e2c983;font-size:15px}
.eg-sitz .dot{fill:#fff}.eg-sitz .ring{fill:none;stroke:#fff;stroke-width:2.5;stroke-opacity:.9}
.eg-sitz{pointer-events:none}
.egmap-info{position:absolute;left:26px;bottom:24px;max-width:300px;padding:16px 20px;border-radius:14px;background:rgba(9,26,47,.78);backdrop-filter:blur(6px);border:1px solid rgba(226,201,131,.25);color:#e7eef8}
.egmap-info small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#e2c983;margin-bottom:2px}
.egmap-info b{display:block;font-size:1.25rem;font-weight:600;color:#fff;letter-spacing:-.01em}
.egmap-info span{display:block;font-size:.8rem;line-height:1.5;color:#b9c4d6;margin-top:4px}
.egmap-info.sel small{color:#f2b878}
.egmap-legend{position:absolute;right:22px;top:18px;display:flex;gap:16px;font-size:.72rem;color:#b9c4d6}
.egmap-legend span{display:flex;align-items:center;gap:7px}
.egmap-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.lg-home{background:#c8a24b}.lg-sel{background:#d9822b}
@media(max-width:760px){
  .egmap{border-radius:16px;margin-bottom:24px}
  .eg-lab:not(.on){opacity:0}
  .eg-lab.on{font-size:22px}
  .egmap-info{position:static;max-width:none;border-radius:0;border:0;border-top:1px solid rgba(226,201,131,.2);background:#0b2038;padding:14px 18px}
  .egmap-legend{top:10px;right:12px;gap:10px;font-size:.62rem}
}
.egmap-info{left:24px;top:20px;bottom:auto;max-width:280px}
@media(max-width:760px){.eg-lab.on{font-size:44px;stroke-width:5px}}

/* ============================================================ KARRIERE (neu, angelehnt an die Bewerbungsseite) */
.narrow-l{width:min(1000px,92%);margin-inline:auto}
.btn-navy{background:var(--navy);color:#fff;border-color:var(--navy)}
.btn-navy:hover{background:var(--gold);border-color:var(--gold);color:#16273f;transform:translateY(-2px)}
/* Hero */
.khero{position:relative;isolation:isolate;min-height:min(86vh,820px);display:flex;align-items:flex-end;color:#fff;background:#0b2038;overflow:hidden}
.khero-bg{position:absolute;inset:0;z-index:-1}
.khero-bg img{width:100%;height:100%;object-fit:cover;object-position:50% 30%;opacity:0;transition:opacity .7s}
.khero-bg img.ld{opacity:1}
.khero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,32,56,.88) 0%,rgba(11,32,56,.6) 45%,rgba(11,32,56,.25) 100%),linear-gradient(0deg,rgba(11,32,56,.85) 0%,rgba(11,32,56,0) 45%)}
.khero-inner{padding:120px 0 90px;max-width:none}
.khero .eyebrow{color:var(--gold-light)}
.khero h1{color:#fff;font-weight:800;font-size:clamp(3rem,7vw,6.4rem);line-height:.98;letter-spacing:-.045em;margin:18px 0 22px}
.khero h1 .nb{white-space:nowrap}
.khero h1 em{display:block;font-style:normal;font-weight:500;color:var(--gold-light);font-size:.62em;letter-spacing:-.03em;margin-top:.18em}
.khero-lead{color:rgba(255,255,255,.82);font-size:1.1rem;max-width:520px;margin-bottom:30px}
.khero-actions{display:flex;gap:14px;flex-wrap:wrap}
/* Jobs */
.kjobs{display:flex;flex-direction:column;gap:16px}
.kjob{background:#fff;border-radius:18px;box-shadow:0 18px 50px -34px rgba(11,32,56,.55);overflow:hidden;border:1px solid rgba(18,58,99,.08)}
.kjob-head{all:unset;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:20px;width:100%;padding:24px 30px;cursor:pointer;background:var(--navy);color:#fff;transition:background .3s}
.kjob-head:hover{background:#164277}
.kjob-head h3{color:#fff;font-size:1.3rem;font-weight:700;letter-spacing:-.02em;margin:0}
.kjob-head h3 small{font-weight:500;font-size:.75em;opacity:.7}
.kjob-head em{display:block;font-style:normal;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);margin-top:6px}
.kjob-pl{position:relative;width:40px;height:40px;border-radius:50%;border:1.5px solid rgba(226,201,131,.6);flex:none}
.kjob-pl::before,.kjob-pl::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:1.6px;background:var(--gold-light);transform:translate(-50%,-50%)}
.kjob-pl::after{transform:translate(-50%,-50%) rotate(90deg);transition:transform .35s}
.kjob.open .kjob-pl::after{transform:translate(-50%,-50%) rotate(0)}
.kjob-body{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}
.kjob-cols{display:grid;grid-template-columns:1fr 1fr}
.kjob-cols>div{padding:26px 30px}
.kjob-cols>div+div{border-left:1px solid rgba(18,58,99,.08)}
.kjob h5{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:12px}
.kjob ul{list-style:none;display:flex;flex-direction:column;gap:9px}
.kjob li{position:relative;padding-left:20px;color:var(--ink);font-size:.95rem;line-height:1.55}
.kjob li::before{content:"";position:absolute;left:2px;top:.62em;width:7px;height:7px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
.kjob-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;padding:20px 30px 26px;border-top:1px solid rgba(18,58,99,.08)}
.kjob-tags{display:flex;gap:8px;flex-wrap:wrap}
.kjob-tags span{font-size:.75rem;font-weight:600;padding:6px 13px;border-radius:30px;background:#f3eee3;color:#5a4a2a}
.kjobs-note{text-align:center;color:var(--muted);margin-top:28px}
/* Ausbildung */
.kazubi{padding:120px 0;background:linear-gradient(180deg,#f6efe0 0%,#fbf8f1 100%)}
.kazubi-top{display:grid;grid-template-columns:1fr 1.05fr;gap:64px;align-items:center}
.kazubi-img{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 34px 70px -40px rgba(11,32,56,.6);aspect-ratio:4/5}
.kazubi-img img{width:100%;height:100%;object-fit:cover}
.kazubi-badge{position:absolute;left:22px;bottom:22px;background:var(--gold);color:#16273f;border-radius:14px;padding:12px 18px;font-size:.82rem;line-height:1.3;box-shadow:0 14px 30px -14px rgba(0,0,0,.5)}
.kazubi-badge b{display:block;font-size:1.15rem;font-weight:800;letter-spacing:-.01em}
.kazubi-txt h2{font-size:clamp(2.1rem,4.2vw,3.4rem);font-weight:800;letter-spacing:-.035em;line-height:1.04;margin:18px 0 20px}
.kazubi-txt .lead{font-size:1.15rem;color:var(--ink);margin-bottom:14px}
.kazubi-txt p{color:var(--muted)}
.kazubi-points{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:18px 26px;margin-top:30px}
.kazubi-points li{display:flex;gap:14px;align-items:flex-start}
.kazubi-points svg,.kberuf svg,.kweiter svg,.kben svg{width:24px;height:24px;flex:none;fill:none;stroke:var(--gold-dark);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.kazubi-points svg{width:42px;height:42px;padding:9px;border-radius:12px;background:#fff;box-shadow:0 8px 20px -14px rgba(11,32,56,.5)}
.kazubi-points b{display:block;font-weight:700;color:var(--ink);margin-bottom:2px}
.kazubi-points span{display:block;font-size:.9rem;color:var(--muted);line-height:1.5}
.kazubi-sub{text-align:center;margin:90px 0 30px}
.kazubi-sub h3{font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;letter-spacing:-.025em}
.kazubi-sub p{color:var(--muted);margin-top:8px}
.kberufe{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.kberuf{background:#fff;border-radius:18px;padding:28px 24px;border:1px solid rgba(200,162,75,.25);transition:transform .35s var(--ease),box-shadow .35s}
.kberuf:hover{transform:translateY(-5px);box-shadow:0 24px 50px -30px rgba(11,32,56,.5)}
.kberuf svg{width:30px;height:30px;margin-bottom:16px}
.kberuf h4{font-size:1.08rem;font-weight:700;margin-bottom:8px}
.kberuf p{font-size:.9rem;color:var(--muted);line-height:1.55}
.kazubi-contact{margin-top:70px;display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:center;background:var(--navy);color:#fff;border-radius:26px;padding:44px 50px;box-shadow:0 34px 70px -40px rgba(11,32,56,.8)}
.kac-people{display:flex;gap:22px}
.kac-people figure{text-align:center}
.kac-people img{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid var(--gold);margin:0 auto 10px}
.kac-people b{display:block;font-size:.95rem;color:#fff}
.kac-people span{font-size:.78rem;color:var(--gold-light)}
.kac-txt h3{color:#fff;font-size:clamp(1.7rem,3vw,2.4rem);font-weight:800;letter-spacing:-.03em;margin-bottom:10px}
.kac-txt p{color:rgba(255,255,255,.8);margin-bottom:22px;max-width:560px}
.kac-actions{display:flex;gap:12px;flex-wrap:wrap}
.kac-actions .btn-ghost{color:#fff;border-color:rgba(255,255,255,.4)}
.kac-actions .btn-ghost:hover{background:#fff;color:var(--navy)}
/* Weiterbildung */
.kweiter-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kweiter{display:flex;gap:16px;align-items:flex-start;background:#fff;border-radius:16px;padding:24px;border-left:3px solid var(--gold)}
.kweiter svg{width:30px;height:30px}
.kweiter h4{font-size:1.05rem;font-weight:700;margin-bottom:4px}
.kweiter p{font-size:.88rem;color:var(--muted);line-height:1.55}
/* Benefits */
.kben-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.kben{display:flex;gap:14px;align-items:flex-start;padding:22px 24px;border-radius:14px;border:1px solid rgba(200,162,75,.3);background:#fff}
.kben b{display:block;font-weight:700;margin-bottom:3px}
.kben span{font-size:.88rem;color:var(--muted);line-height:1.5}
/* Team */
.kteam{padding:110px 0 80px;background:#16273f}
.kteam .head h2{color:#fff}
.kteam .eyebrow{color:var(--gold-light)}
.kteam-row{display:flex;gap:28px;overflow-x:auto;scroll-snap-type:x mandatory;padding:10px 4px 16px;scrollbar-width:none}
.kteam-row::-webkit-scrollbar{display:none}
.kteam-p{flex:0 0 150px;text-align:center;scroll-snap-align:start}
.kteam-p img{width:120px;height:120px;border-radius:50%;object-fit:cover;object-position:50% 20%;border:3px solid rgba(200,162,75,.8);margin:0 auto 12px}
.kteam-p b{display:block;color:#fff;font-size:.92rem}
.kteam-p span{display:block;color:#9fb0c6;font-size:.76rem;line-height:1.4;margin-top:2px}
.kteam-hint{text-align:center;color:var(--gold-light);font-size:.78rem;opacity:.7;margin-top:10px}
@media(min-width:1700px){.kteam-row{justify-content:center}}
/* Bewerbung */
.kapply{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center;background:linear-gradient(135deg,#123a63,#0b2038);color:#fff;border-radius:28px;padding:60px}
.kapply .eyebrow{color:var(--gold-light)}
.kapply h2{color:#fff;font-size:clamp(2rem,3.8vw,3rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:16px 0}
.kapply p{color:rgba(255,255,255,.8);margin-bottom:26px}
.kapply-actions{display:flex;gap:12px;flex-wrap:wrap}
.ksteps{list-style:none;display:flex;flex-direction:column;gap:16px}
.ksteps li{display:flex;gap:16px;align-items:flex-start;background:rgba(255,255,255,.06);border:1px solid rgba(226,201,131,.2);border-radius:16px;padding:18px 20px;color:rgba(255,255,255,.82);font-size:.95rem;line-height:1.5}
.ksteps b{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:#16273f;font-weight:800}
.ksteps strong{color:#fff}
@media(max-width:1024px){
  .kazubi-top{grid-template-columns:1fr;gap:40px}.kazubi-img{aspect-ratio:16/11}
  .kberufe{grid-template-columns:1fr 1fr}.kweiter-grid,.kben-grid{grid-template-columns:1fr 1fr}
  .kazubi-contact{grid-template-columns:1fr;text-align:center;padding:38px 28px}.kac-people{justify-content:center}.kac-txt p{margin-inline:auto}.kac-actions{justify-content:center}
  .kapply{grid-template-columns:1fr;padding:44px 32px}
}
@media(max-width:640px){
  .khero{min-height:auto}.khero-inner{padding:150px 0 56px}
  .khero h1{font-size:2.9rem}
  .khero-actions .btn{width:100%;justify-content:center}
  .kjob-head{padding:20px}.kjob-head h3{font-size:1.1rem}
  .kjob-cols{grid-template-columns:1fr}.kjob-cols>div{padding:20px}.kjob-cols>div+div{border-left:0;border-top:1px solid rgba(18,58,99,.08)}
  .kjob-foot{padding:18px 20px 22px}.kjob-foot .btn{width:100%;justify-content:center}
  .kazubi{padding:80px 0}.kazubi-points{grid-template-columns:1fr}
  .kberufe,.kweiter-grid,.kben-grid{grid-template-columns:1fr}
  .kac-people img{width:96px;height:96px}
  .kapply{padding:36px 22px;border-radius:20px}.kapply-actions .btn{width:100%;justify-content:center}
}

/* ============================================================ HERO HANDY v5 (Entwurf 25.10.): Text höher, größer, kräftiger – Stil wie Bewerbungsseite */
@media(max-width:600px){
  .hero{background:#0b2038}
  .hero-bg{height:520px}
  .hero-bg img{object-position:53% 0}
  .hero-bg::after{background:linear-gradient(0deg,#0b2038 0%,#0b2038 12%,rgba(11,32,56,.86) 30%,rgba(11,32,56,.4) 50%,rgba(11,32,56,0) 66%,rgba(11,32,56,.2) 100%)}
  .hero-inner{padding-top:300px;padding-bottom:44px;text-align:left;align-items:flex-start}
  .hero h1.hero-title{margin:0 0 26px;gap:.2em;max-width:none;align-items:flex-start}
  .hero-title .ht-1{font-weight:800;font-size:2.75rem;line-height:1.0;letter-spacing:-.045em;text-shadow:0 2px 18px rgba(6,20,38,.55)}
  .hero-title .ht-2{font-weight:500;font-size:1.5rem;line-height:1.15;letter-spacing:-.025em;color:var(--gold-light);text-transform:none}
  .hero-title .ht-2::before,.hero-title .ht-2::after{display:none}
  .hero-actions{width:100%}
}
@media(max-width:380px){.hero-title .ht-1{font-size:2.4rem}.hero-inner{padding-top:270px}.hero-bg{height:480px}}
@media(max-width:600px){
  .hero .hero-inner,.hero h1.hero-title,.hero-title .ht-1,.hero-title .ht-2{text-align:left!important}
  .hero-title .ht-1{font-size:clamp(2.1rem,10vw,2.75rem);white-space:normal;width:auto}
  .hero-title .ht-2{font-size:clamp(1.25rem,5.6vw,1.55rem)}
}
@media(max-width:380px){.hero-title .ht-1{font-size:clamp(2.1rem,10vw,2.75rem)}}
@media(max-width:760px){.eg-lab.on{font-size:46px!important;stroke-width:6px}}

/* ============================================================ KARRIERE v2: Übersicht, Nummern, Weiterkommen in Ausbildung, Miteinander */
.knum{font-style:normal;display:inline-grid;place-items:center;min-width:26px;height:20px;padding:0 6px;border-radius:20px;background:var(--gold);color:#16273f;font-size:.62rem;font-weight:800;letter-spacing:.04em;margin-right:4px}
.eyebrow .knum + *{margin-left:0}
.khero .eyebrow::before,.kteam .eyebrow::before{background:var(--gold-light)}
/* Unternavigation */
.ksubnav{position:sticky;top:var(--kh,74px);z-index:150;background:rgba(251,248,241,.94);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(200,162,75,.28);box-shadow:0 10px 30px -26px rgba(11,32,56,.6)}
.ksubnav-in{display:flex;gap:6px;justify-content:center;overflow-x:auto;scrollbar-width:none;padding:10px 0}
.ksubnav-in::-webkit-scrollbar{display:none}
.ksubnav a{flex:none;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;font-size:.84rem;font-weight:600;color:var(--ink);white-space:nowrap;transition:background .25s,color .25s}
.ksubnav a i{font-style:normal;font-size:.66rem;font-weight:800;color:var(--gold-dark);letter-spacing:.04em}
.ksubnav a:hover{background:#f1e7cf}
.ksubnav a.on{background:var(--navy);color:#fff}
.ksubnav a.on i{color:var(--gold-light)}
.ksec{scroll-margin-top:calc(var(--kh,74px) + 70px)}
/* Seitliche Fortschrittsleiste (Desktop) */
.krail{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:140;display:flex;flex-direction:column;gap:18px;padding:6px 0;opacity:0;pointer-events:none;transition:opacity .4s}
.krail.show{opacity:1;pointer-events:auto}
.krail::before{content:"";position:absolute;right:5px;top:8px;bottom:8px;width:2px;background:rgba(200,162,75,.35);border-radius:2px}
.krail a{position:relative;display:flex;align-items:center;justify-content:flex-end;width:12px;height:12px;margin-left:auto}
.krail a::after{content:"";position:relative;z-index:1;width:12px;height:12px;border-radius:50%;background:#fbf8f1;border:2px solid var(--gold);box-sizing:border-box;transition:transform .25s,background .25s}
.krail a span{position:absolute;right:22px;white-space:nowrap;font-size:.74rem;font-weight:700;color:var(--navy);background:#fff;padding:5px 11px;border-radius:20px;box-shadow:0 8px 20px -10px rgba(11,32,56,.5);opacity:0;transform:translateX(6px);transition:.25s;pointer-events:none}
.krail a:hover span,.krail a.on span{opacity:1;transform:none}
.krail a.on::after{background:var(--gold);transform:scale(1.35)}
.krail a.done::after{background:var(--gold)}
@media(max-width:1280px){.krail{display:none}}
/* Weiterkommen in der Ausbildung */
.kgrow-box{margin-top:80px;display:grid;grid-template-columns:.9fr 1.6fr;gap:40px;align-items:center;background:#fff;border-radius:24px;padding:38px 40px;border:1px solid rgba(200,162,75,.28);box-shadow:0 24px 60px -44px rgba(11,32,56,.5)}
.kgrow-head h3{font-size:clamp(1.6rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.03em;margin:14px 0 10px}
.kgrow-head p{color:var(--muted);font-size:.95rem}
.kgrow-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.kgrow{display:flex;gap:11px;align-items:flex-start;padding:14px 14px;border-radius:14px;background:#faf6ec}
.kgrow svg{width:22px;height:22px;flex:none;fill:none;stroke:var(--gold-dark);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.kgrow b{display:block;font-size:.9rem;font-weight:700;line-height:1.3}
.kgrow span{display:block;font-size:.78rem;color:var(--muted);line-height:1.45;margin-top:3px}
/* Miteinander + Arbeitgeber (dunkel, andere Farbwelt) */
.kmit{padding:120px 0;background:linear-gradient(160deg,#123a63 0%,#0b2038 100%);color:#fff;position:relative;overflow:hidden}
.kmit::before{content:"";position:absolute;width:640px;height:640px;right:-200px;top:-220px;border-radius:50%;background:radial-gradient(circle,rgba(200,162,75,.16),transparent 65%)}
.kmit .eyebrow{color:var(--gold-light)}
.kmit-top{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:center;position:relative}
.kmit h2{color:#fff;font-size:clamp(2.1rem,4vw,3.3rem);font-weight:800;letter-spacing:-.035em;line-height:1.05;margin:16px 0 18px}
.kmit .lead{color:rgba(255,255,255,.85);font-size:1.12rem;margin-bottom:26px}
.kmit-values{list-style:none;display:flex;flex-direction:column;gap:14px}
.kmit-values li{display:grid;grid-template-columns:110px 1fr;gap:14px;align-items:baseline;padding:14px 0;border-top:1px solid rgba(226,201,131,.2)}
.kmit-values b{color:var(--gold-light);font-size:1.15rem;font-weight:700}
.kmit-values span{color:rgba(255,255,255,.78);font-size:.94rem;line-height:1.55}
.kmit-photos{position:relative;height:460px}
.kmit-photos img{position:absolute;object-fit:cover;border-radius:20px;box-shadow:0 30px 60px -30px rgba(0,0,0,.7)}
.kmit-photos .p1{left:0;top:0;width:68%;height:78%}
.kmit-photos .p2{right:0;bottom:0;width:56%;height:52%;border:5px solid #0f2d4d;object-position:50% 30%}
.kmit-sub{margin:90px 0 30px;text-align:center}
.kmit-sub h3{color:#fff;font-size:clamp(1.6rem,2.8vw,2.2rem);font-weight:700;letter-spacing:-.025em}
.kmit-sub p{color:rgba(255,255,255,.7);margin-top:8px}
.kmit .kben{background:rgba(255,255,255,.05);border:1px solid rgba(226,201,131,.22);border-radius:18px;padding:24px;flex-direction:column;gap:12px}
.kmit .kben svg{width:44px;height:44px;padding:10px;border-radius:50%;background:rgba(200,162,75,.16);stroke:var(--gold-light)}
.kmit .kben b{color:#fff;font-size:1.02rem}
.kmit .kben span{color:rgba(255,255,255,.72)}
/* Team jetzt hell */
.kteam{background:#fbf8f1}
.kteam .head h2{color:var(--ink)}
.kteam .eyebrow{color:var(--gold-dark)}
.kteam .head p{color:var(--muted)}
.kteam-p b{color:var(--ink)}
.kteam-p span{color:var(--muted)}
.kteam-hint{color:var(--gold-dark)}
@media(max-width:1024px){
  .kgrow-box{grid-template-columns:1fr;gap:22px;padding:30px 26px}
  .kmit-top{grid-template-columns:1fr;gap:40px}.kmit-photos{height:380px}
}
@media(max-width:640px){
  .ksubnav-in{justify-content:flex-start;padding:8px 4px}
  .ksubnav a{padding:7px 12px;font-size:.8rem}
  .kgrow-box{margin-top:50px;padding:24px 18px;border-radius:18px}
  .kgrow-grid{grid-template-columns:1fr 1fr;gap:8px}
  .kgrow{padding:11px 10px;gap:8px}
  .kgrow svg{width:18px;height:18px}
  .kgrow b{font-size:.82rem}
  .kgrow span{display:none}
  .kmit{padding:80px 0}
  .kmit-values li{grid-template-columns:1fr;gap:4px}
  .kmit-photos{height:300px}
  .kmit-sub{margin:60px 0 24px}
  .kmit .kben{flex-direction:row;padding:18px}
  .kmit .kben svg{width:38px;height:38px;padding:8px}
}

/* Einzugsgebiet-Karte Handy: alle Gemeindenamen klein anzeigen, Karte randlos breiter */
@media(max-width:760px){
  .egmap{margin-left:-4vw;margin-right:-4vw;border-radius:0}
  .eg-lab,.eg-lab:not(.on){opacity:1;font-size:21px!important;stroke-width:4px;font-weight:600}
  .eg-lab.home{font-size:24px!important}
  .eg-lab.on{font-size:30px!important;stroke-width:6px;font-weight:800}
  .eg-note{font-size:22px}
  .egmap-legend{display:none}
}

/* Unternavigation: Kopfzeile scrollt mit, daher feste Leiste per JS */
.ksubnav{position:relative;top:auto}
.ksubnav.fix{position:fixed;top:0;left:0;right:0}
.ksec{scroll-margin-top:72px}
.krail{right:14px}
.krail a.on span{opacity:0;transform:translateX(6px)}
.krail a:hover span{opacity:1;transform:none}

/* Handy kompakter: Karte-Beschriftung, Ausbildungsberufe, Arbeitgeber-Punkte */
@media(max-width:760px){
  .eg-lab,.eg-lab:not(.on){font-size:18px!important;stroke-width:3.5px}
  .eg-lab.home{font-size:21px!important}
}
@media(max-width:640px){
  .kberufe{grid-template-columns:1fr 1fr;gap:10px}
  .kberuf{padding:16px 14px;border-radius:14px}
  .kberuf svg{width:24px;height:24px;margin-bottom:10px}
  .kberuf h4{font-size:.9rem;margin-bottom:5px}
  .kberuf p{font-size:.76rem;line-height:1.45}
  .kben-grid{grid-template-columns:1fr 1fr;gap:10px}
  .kmit .kben{flex-direction:column;padding:16px 14px;gap:8px;border-radius:14px}
  .kmit .kben svg{width:34px;height:34px;padding:7px}
  .kmit .kben b{font-size:.88rem}
  .kmit .kben span{font-size:.76rem;line-height:1.45}
  .kmit-photos{height:260px}
}

/* ============================================================ KARRIERE v3 */
/* Hero: Text tiefer, mehr Bild sichtbar */
.khero{min-height:min(92vh,880px)}
.khero-inner{padding:120px 0 56px}
.khero-bg img{object-position:50% 22%}
.khero-bg::after{background:linear-gradient(0deg,rgba(11,32,56,.92) 0%,rgba(11,32,56,.55) 26%,rgba(11,32,56,.08) 52%,rgba(11,32,56,.15) 100%)}
.khero h1{margin:14px 0 26px}
@media(max-width:640px){.khero-inner{padding:300px 0 40px}.khero-bg img{object-position:50% 0}}
/* Ausbildung: Werte-Punkte statt Fliesstext */
.kvals{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:26px}
.kvals li{display:flex;align-items:center;gap:12px;background:#fff;border-radius:14px;padding:14px 16px;box-shadow:0 10px 26px -20px rgba(11,32,56,.55);font-weight:600;font-size:.98rem;color:var(--ink)}
.kvals svg{width:38px;height:38px;flex:none;padding:8px;border-radius:50%;background:#f6ecd4;fill:none;stroke:var(--gold-dark);stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:640px){.kvals{grid-template-columns:1fr;gap:8px}.kvals li{padding:11px 14px;font-size:.92rem}.kvals svg{width:32px;height:32px;padding:6px}}
.kac-people{flex-wrap:wrap;justify-content:center}
/* 04: Arbeitgeber-Fotos zum Wischen */
.kmit .head{margin-bottom:44px}
.kmit .head h2{color:#fff}
.kmit .head p{color:rgba(255,255,255,.78)}
.kboss-row{display:flex;gap:18px;overflow-x:auto;scroll-snap-type:x mandatory;padding:6px 2px 14px;scrollbar-width:none}
.kboss-row::-webkit-scrollbar{display:none}
.kboss{position:relative;flex:0 0 300px;height:380px;border-radius:20px;overflow:hidden;scroll-snap-align:start;box-shadow:0 26px 50px -30px rgba(0,0,0,.8)}
.kboss img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.kboss:hover img{transform:scale(1.05)}
.kboss figcaption{position:absolute;left:0;right:0;bottom:0;padding:50px 20px 18px;background:linear-gradient(180deg,rgba(11,32,56,0),rgba(11,32,56,.92))}
.kboss b{display:block;color:#fff;font-size:1.05rem;font-weight:700}
.kboss span{display:block;color:var(--gold-light);font-size:.8rem;margin-top:2px}
.kboss-hint{color:var(--gold-light)!important;margin-bottom:46px}
@media(min-width:1500px){.kboss-row{justify-content:center}}
@media(max-width:640px){.kboss{flex-basis:78%;height:320px}}
.kboss.wide{flex-basis:540px}
@media(max-width:640px){.kboss.wide{flex-basis:92%}}

/* KARRIERE HANDY: kompakterer Kopf, dunklerer Filter, Text über den Köpfen der vorderen Reihe */
@media(max-width:640px){
  .khero{min-height:0}
  .khero-bg img{object-position:50% 12%}
  .khero-bg::after{background:linear-gradient(0deg,rgba(11,32,56,.95) 0%,rgba(11,32,56,.72) 38%,rgba(11,32,56,.5) 70%,rgba(11,32,56,.45) 100%)}
  .khero-inner{padding:150px 0 30px}
  .khero h1{font-size:2.45rem;margin:10px 0 18px}
  .khero h1 em{font-size:.6em}
  .khero-actions{flex-wrap:nowrap;gap:10px}
  .khero-actions .btn{width:auto;flex:1;padding:13px 10px;font-size:.84rem;gap:6px}
  .khero-actions .btn svg{width:15px;height:15px}
}

/* Ausbilder-Karte + Arbeitgeber-Punkte kompakter (Handy) */
@media(max-width:640px){
  .kazubi-contact{margin-top:40px;padding:22px 16px;gap:16px;border-radius:18px}
  .kac-people{flex-wrap:nowrap;gap:10px}
  .kac-people figure{flex:1;min-width:0}
  .kac-people img{width:66px;height:66px;border-width:2px;margin-bottom:6px}
  .kac-people b{font-size:.76rem}
  .kac-people span{font-size:.64rem}
  .kac-txt h3{font-size:1.35rem;margin-bottom:6px}
  .kac-txt p{font-size:.84rem;margin-bottom:14px}
  .kac-actions{flex-direction:column;gap:8px}
  .kac-actions .btn{padding:12px 16px;font-size:.84rem;width:100%;justify-content:center}
  .kmit .kben-grid{gap:8px}
  .kmit .kben{padding:12px 11px;gap:6px}
  .kmit .kben svg{width:28px;height:28px;padding:5px}
  .kmit .kben b{font-size:.8rem;margin-bottom:1px}
  .kmit .kben span{font-size:.7rem;line-height:1.35}
}
@media(max-width:640px){
  .kmit .kben>div{line-height:1.3}
  .kmit .kben span{display:block;margin-top:2px}
  .kmit .kben b{line-height:1.25}
}
@media(min-width:761px){.egmap-info{left:auto;right:22px;top:auto;bottom:20px;max-width:260px;padding:12px 16px}.egmap-info b{font-size:1.05rem}}
@media(min-width:1200px){.kboss-row{justify-content:center}}
@media(min-width:761px){.egmap-info{top:48px;bottom:auto;right:22px;max-width:240px}}

/* Bewerbung: vollflaechiger Block statt Kasten */
.kapply-sec{background:linear-gradient(135deg,#123a63,#0b2038)}
.kapply{display:block;background:none;border-radius:0;padding:90px 0;text-align:center;box-shadow:none}
.kapply h2{margin:16px 0 28px}
.kapply-actions{justify-content:center}
@media(max-width:640px){.kapply{padding:64px 0}}

/* Einzugsgebiet Handy: Gemeinde-Chips klein und dicht */
@media(max-width:640px){
  .chips.rv:has(.eg-chip){gap:6px!important;margin-bottom:24px!important}
  .eg-chip{padding:6px 11px;font-size:.74rem;line-height:1.2;border-radius:30px}
}

/* Ausbildungsberufe: 3 Stück */
.kberufe.kberufe-3{grid-template-columns:repeat(3,1fr);max-width:1000px;margin-inline:auto}
@media(max-width:1024px){.kberufe.kberufe-3{grid-template-columns:repeat(3,1fr)}}
@media(max-width:640px){
  .kberufe.kberufe-3{grid-template-columns:1fr;gap:8px}
  .kberufe-3 .kberuf{display:grid;grid-template-columns:28px 1fr;column-gap:12px;align-items:start;padding:14px 16px}
  .kberufe-3 .kberuf svg{grid-row:span 2;margin:2px 0 0}
  .kberufe-3 .kberuf h4{margin-bottom:2px}
}
/* Ausbilder: Abstand Überschrift zu Buttons */
.kac-txt h3{margin-bottom:22px}
@media(max-width:640px){.kac-txt h3{margin-bottom:18px}}
/* Karriere-Hero Desktop: passt immer komplett in den Bildschirm (unter Kopfzeile + Menü) */
@media(min-width:1101px){.khero{min-height:0;height:calc(100vh - 186px);max-height:860px}.khero-inner{padding-bottom:48px}.khero h1{font-size:clamp(3rem,6vw,5.6rem)}}
@media(min-width:641px) and (max-width:1100px){.khero{min-height:0;height:calc(100vh - 112px);max-height:760px}}

/* ============================================================ Stellen kompakter */
.kjob-head{padding:18px 26px}
.kjob-head h3{font-size:1.12rem}
.kjob-pl{width:34px;height:34px}
.kjobs{gap:10px}
@media(max-width:640px){.kjob-head{padding:15px 18px}.kjob-head h3{font-size:1rem}.kjob-pl{width:30px;height:30px}}

/* ============================================================ Ausbildungsberufe aufklappbar */
.kberuf-btn{all:unset;box-sizing:border-box;display:block;cursor:pointer;background:#fff;border-radius:18px;padding:28px 24px;border:1px solid rgba(200,162,75,.25);transition:transform .35s var(--ease),box-shadow .35s,border-color .3s,background .3s;text-align:left}
.kberuf-btn:hover{transform:translateY(-4px);box-shadow:0 24px 50px -30px rgba(11,32,56,.5)}
.kberuf-btn:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.kberuf-btn.on{background:var(--navy);border-color:var(--navy);box-shadow:0 24px 50px -30px rgba(11,32,56,.7)}
.kberuf-btn.on h4{color:#fff}.kberuf-btn.on p{color:rgba(255,255,255,.75)}.kberuf-btn.on svg{stroke:var(--gold-light)}
.kberuf-more{display:inline-flex;align-items:center;gap:8px;margin-top:14px;font-size:.8rem;font-weight:700;color:var(--gold-dark);letter-spacing:.02em}
.kberuf-more i{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .3s}
.kberuf-btn.on .kberuf-more{color:var(--gold-light)}
.kberuf-btn.on .kberuf-more i{transform:rotate(-135deg) translateY(-2px)}
.kbinfos{max-width:1000px;margin:18px auto 0}
.kbinfo{background:#fff;border-radius:22px;padding:30px 34px;border:1px solid rgba(200,162,75,.3);box-shadow:0 30px 70px -46px rgba(11,32,56,.6);animation:kbIn .45s var(--ease)}
@keyframes kbIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.kbinfo-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}
.kbinfo-head h4{font-size:1.45rem;font-weight:800;letter-spacing:-.025em}
.kbinfo-x{all:unset;cursor:pointer;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-size:1.4rem;color:var(--navy);background:#f3eee3}
.kbinfo-facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:24px}
.kbinfo-facts div{background:#f8f3e6;border-radius:14px;padding:12px 14px}
.kbinfo-facts small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-dark)}
.kbinfo-facts b{display:block;font-size:.95rem;color:var(--ink);margin-top:3px;line-height:1.35}
.kbinfo-cols{display:grid;grid-template-columns:1fr 1fr;gap:30px;padding:18px 0;border-top:1px solid rgba(18,58,99,.08)}
.kbinfo h5{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-dark);margin-bottom:10px}
.kbinfo ul{list-style:none;display:flex;flex-direction:column;gap:7px}
.kbinfo li{position:relative;padding-left:20px;font-size:.93rem;line-height:1.5;color:var(--ink)}
.kbinfo li::before{content:"";position:absolute;left:2px;top:.6em;width:7px;height:7px;border-radius:2px;background:var(--gold);transform:rotate(45deg)}
.kbinfo p{font-size:.93rem;line-height:1.6;color:var(--muted)}
.kbinfo-note{font-size:.74rem!important;color:#8a8f99!important;margin-top:6px}
@media(max-width:640px){
  .kberuf-btn{padding:14px 16px;display:grid;grid-template-columns:28px 1fr;column-gap:12px}
  .kberuf-btn svg{grid-row:span 3;margin:2px 0 0}
  .kberuf-more{margin-top:6px}
  .kbinfos{margin-top:10px}
  .kbinfo{padding:20px 18px;border-radius:18px}
  .kbinfo-head h4{font-size:1.15rem}
  .kbinfo-facts{grid-template-columns:1fr 1fr;gap:8px}
  .kbinfo-facts b{font-size:.84rem}
  .kbinfo-cols{grid-template-columns:1fr;gap:16px}
}
@media(max-width:640px){.kberuf-btn .kberuf-more{grid-column:2;white-space:nowrap;margin-top:6px}}

.testi .av{width:54px;height:54px;flex:0 0 54px;border:2px solid var(--gold)}
.testi .av img{object-position:50% 50%}

.kbinfo-cols-3{grid-template-columns:1fr 1fr 1fr}
.kbinfo p b{color:var(--ink)}
@media(max-width:640px){.kbinfo-cols-3{grid-template-columns:1fr}}

/* ============================================================ KI-HINWEIS (zum Entfernen: diesen Block + alle <!-- KI-HINWEIS --> Stellen löschen) */
.ki-wrap{position:relative}
.ki-badge{position:absolute;top:10px;right:10px;z-index:3;display:flex;align-items:center;gap:0;height:22px;border-radius:20px;background:rgba(11,32,56,.55);backdrop-filter:blur(4px);color:#fff;font-size:.6rem;font-weight:700;letter-spacing:.06em;cursor:default;overflow:hidden;outline:none}
.ki-badge i{font-style:normal;display:grid;place-items:center;min-width:22px;height:22px}
.ki-badge em{font-style:normal;max-width:0;opacity:0;white-space:nowrap;transition:max-width .3s,opacity .3s,padding .3s}
.ki-badge:hover em,.ki-badge:focus em{max-width:120px;opacity:1;padding-right:9px}
.kteam-p.ki-wrap .ki-badge{top:6px;right:calc(50% - 62px)}
.ki-note{text-align:center;font-size:.75rem;color:var(--muted);opacity:.75;margin-top:14px}
.ki-wrap .ki-badge{display:flex!important;width:auto!important;margin:0!important;padding:0!important;color:#fff!important;font-size:.6rem!important;line-height:1!important;background:rgba(11,32,56,.55)!important}
.kteam-p.ki-wrap .ki-badge{top:4px;right:calc(50% - 64px);left:auto}
/* KI-HINWEIS: nur sichtbar beim Berühren/Drüberfahren des Fotos */
.ki-wrap .ki-badge{opacity:0;transition:opacity .25s}
.ki-wrap:hover .ki-badge,.ki-wrap:focus-within .ki-badge,.ki-wrap.ki-on .ki-badge{opacity:1}
.ki-wrap:hover .ki-badge em,.ki-wrap:focus-within .ki-badge em,.ki-wrap.ki-on .ki-badge em{max-width:120px;opacity:1;padding-right:9px}

.egmap-src{position:absolute;left:14px;bottom:8px;margin:0;font-size:.62rem;color:rgba(185,196,214,.75);z-index:2}
.egmap-src a{color:inherit;text-decoration:underline}

/* Foto-Reihen: mittig, aber nie links abgeschnitten (Fix für breite Bildschirme) */
.kteam-row,.kboss-row{justify-content:flex-start!important}
.kteam-row>:first-child,.kboss-row>:first-child{margin-left:auto}
.kteam-row>:last-child,.kboss-row>:last-child{margin-right:auto}
