/* Shared chrome and a shorter, clearly grouped homepage. */
html{background:#fff;scroll-padding-top:calc(110px + env(safe-area-inset-top,0px))}
body{background:#fff}
main{background:white}
.site-header{padding-top:env(safe-area-inset-top,0px);backdrop-filter:none}
.container{width:min(var(--container),calc(100% - 80px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)))}
.header-inner{height:86px}
.header-inner .brand{width:202px}
.navigation{gap:19px}
.navigation>a{font-size:.76rem}
.home-hero,.home-hero .hero-inner{min-height:520px}
.home-hero .hero-inner{padding-block:56px}
.home-hero h1{font-size:clamp(2.8rem,4.5vw,4.3rem);line-height:1.08;letter-spacing:-.045em}
.home-hero .hero-lead{max-width:455px;font-size:1rem}
.hero-location{margin:22px 0 0;font-size:.78rem;color:var(--muted)}
.home-shortcuts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-block:22px;border-bottom:1px solid var(--line)}
.home-shortcuts a{display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:48px;padding:12px 16px;background:var(--surface);border:1px solid var(--line);border-radius:6px;font-size:.85rem;font-weight:650}
.home-shortcuts a:hover{background:var(--accent-soft);border-color:var(--accent)}
.home-shortcuts .icon{width:18px;height:18px}
.home-services{padding-top:64px}
.service-groups{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.service-group{border:1px solid var(--line);border-radius:10px;overflow:hidden;background:white;display:flex;flex-direction:column}
.service-group-image{width:100%;height:185px;object-fit:cover}
.service-group-body{padding:24px;display:flex;flex:1;flex-direction:column}
.service-group h3{font-size:1.45rem;line-height:1.2;letter-spacing:-.025em}
.service-group p{color:var(--muted);font-size:.92rem;line-height:1.65}
.service-group ul{list-style:none;margin:auto 0 0;padding:0}
.service-group li{border-top:1px solid var(--line)}
.service-group li a{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding-block:12px;font-size:.9rem;font-weight:650;color:var(--accent)}
.service-group li a:hover{text-decoration:underline}
.service-group li .icon{width:18px;height:18px}
.home-overview-link{margin-top:25px;min-height:44px}
.home-owner{display:grid;grid-template-columns:1fr;gap:32px;align-items:center;max-width:850px}
.home-owner-photo{background:var(--surface);border-radius:12px;overflow:hidden}
.home-owner-photo img{width:100%;max-height:390px;object-fit:cover}
.home-owner-links{display:flex;flex-wrap:wrap;gap:8px 24px}
.home-owner-links a{min-height:44px}
.home-region{padding-block:48px;background:var(--surface);border-block:1px solid var(--line)}
.home-region>.container{display:flex;gap:36px;align-items:center;justify-content:space-between}
.home-region p{max-width:620px;margin-bottom:0}
.home-region .btn{flex-shrink:0;border-color:var(--control-border)}
@media(max-width:1200px){
 .navigation{background:white;padding:12px 20px 20px;border-color:var(--line);box-shadow:0 16px 24px #0b16221a;overscroll-behavior:contain;max-height:calc(100dvh - 110px - env(safe-area-inset-top,0px));scroll-padding:16px}
 .navigation>a{padding:14px 10px;border-bottom:1px solid var(--line);min-height:48px}
 .navigation>a[aria-current]{background:var(--accent-soft);text-decoration:none;border-radius:4px}
 .navigation .nav-cta{background:var(--nav-ink);color:white;margin-top:12px}
}
@media(max-width:900px){.service-groups{gap:16px}.service-group-body{padding:20px}.service-group h3{font-size:1.2rem}.home-owner{gap:32px}}
@media(max-width:760px){
 html{scroll-padding-top:calc(94px + env(safe-area-inset-top,0px))}
 .container{width:calc(100% - 40px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}
 .header-inner{height:76px;gap:16px}.header-inner .brand{width:180px}
 .navigation{padding-inline:max(20px,env(safe-area-inset-left,0px)) max(20px,env(safe-area-inset-right,0px));max-height:calc(100dvh - 152px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px))}
 .home-hero,.home-hero .hero-inner{min-height:0}
 .home-hero .hero-inner{padding-block:32px 24px}
 .home-hero .eyebrow{font-size:.65rem;margin-bottom:14px}
 .home-hero h1{font-size:clamp(2rem,8.7vw,2.65rem);margin-bottom:18px;hyphens:none;overflow-wrap:normal;text-wrap:initial}
 .home-hero .hero-lead{font-size:.95rem;line-height:1.65;margin-bottom:20px}
 .home-hero .button-row{gap:12px 20px}.home-hero .btn{min-height:48px}
 .hero-location{font-size:.73rem;margin-top:16px;line-height:1.5}
 .home-hero .hero-visual{height:190px;margin:0 20px 20px;border-radius:8px}
 .home-hero .hero-visual::after{background:linear-gradient(0deg,#10334033,transparent)}
 .home-hero .image-caption{display:none}
 .home-hero .hero-controls{bottom:10px;left:auto;right:10px;padding:4px 6px;min-width:236px}
 .home-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-block:16px}
 .home-shortcuts a{padding:10px 12px;font-size:.81rem}
 .section,.home-services{padding-block:44px}
 .section-heading{margin-bottom:24px}.section-heading>p{margin-top:16px;font-size:.94rem}
 h2{font-size:1.85rem;line-height:1.15}.section-heading h2 br{display:none}
 .service-groups{grid-template-columns:1fr;gap:18px}
 .service-group{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:start;padding:18px;gap:16px}
 .service-group-image{height:84px;border-radius:6px}
 .service-group-body{padding:0;display:contents}
 .service-group h3{align-self:center;margin:0;font-size:1.25rem;line-height:1.25}
 .service-group p,.service-group ul{grid-column:1/-1;margin:0}.service-group p{font-size:.91rem}
 .service-group li a{font-size:.9rem;min-height:48px}
 .process-section .steps{grid-template-columns:1fr;gap:0;margin-top:20px}
 .process-section .steps li{display:grid;grid-template-columns:38px minmax(0,1fr);column-gap:16px;padding:20px 0;border-top:1px solid var(--line)}
 .process-section .steps li::before{display:none}
 .process-section .step-number{grid-row:1/3;font-size:1.35rem;margin:0;line-height:1.4}
 .process-section .steps h3{font-size:1.08rem;margin:0 0 6px}.process-section .steps p{grid-column:2;font-size:.9rem;margin:0}
 .home-owner{grid-template-columns:1fr;gap:24px}.home-owner-photo{max-width:150px}.home-owner-photo img{height:150px;object-position:center 25%}
 .home-owner-links{display:grid;gap:6px}.home-owner-links a{justify-content:space-between;border-bottom:1px solid var(--line);padding-block:10px}
 .home-region{padding-block:36px}.home-region>.container{display:block}.home-region .btn{margin-top:22px}
 .page-intro{padding-block:20px 30px}.breadcrumb{margin-bottom:22px}.page-intro h1{font-size:clamp(1.9rem,8vw,2.45rem);line-height:1.15}.page-intro h1 br{display:none}
 .service-image{aspect-ratio:2/1}.service-title h3{font-size:1.2rem}.service-content p{font-size:.92rem}.service-content .text-link{min-height:44px}
 .related-links{grid-template-columns:1fr}.related-links>a{min-height:52px;font-size:.9rem}
 .mobile-contact{padding-left:max(15px,env(safe-area-inset-left,0px));padding-right:max(15px,env(safe-area-inset-right,0px))}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Portrait and principles bring the personal contact into one coherent section. */
.owner-section { background:linear-gradient(120deg,#fff8f0 0%,#f5f8fa 100%); }
.owner-section .home-owner { max-width:1200px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(32px,5vw,72px); align-items:center; }
.owner-portrait { position:relative; min-width:0; margin:0; padding:20px 20px 0 0; }
.owner-portrait::before { content:""; position:absolute; top:0; right:0; width:76%; height:76%; border:1px solid #bad3df; border-radius:24px; }
.owner-photo-frame { position:relative; overflow:hidden; border-radius:18px; background:#eef4f7; box-shadow:0 16px 40px #153c5015; }
.owner-photo { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; }
.owner-portrait figcaption { position:relative; margin:0 18px; padding:18px 22px; border-top:4px solid var(--brand-orange); border-radius:0 0 14px 14px; color:#fff; background:var(--ink-dark); }
.owner-portrait figcaption strong { display:block; font-size:1.25rem; }
.owner-portrait figcaption span { display:block; margin-top:4px; font-size:.85rem; line-height:1.5; color:#e0e9ed; }
.owner-copy { min-width:0; }
.owner-copy h2 { font-size:clamp(2rem,3.5vw,3rem); line-height:1.12; letter-spacing:-.035em; }
.owner-copy .owner-intro { margin-block:24px 18px; padding-left:20px; border-left:3px solid var(--brand-orange); font-size:1.15rem; line-height:1.65; color:var(--ink-dark); }
.owner-principles { display:flex; flex-wrap:wrap; gap:10px 20px; list-style:none; margin:24px 0; padding:0; font-size:.85rem; font-weight:650; color:#174d64; }
.owner-principles li { display:flex; align-items:center; gap:8px; }
.owner-principles li::before { content:""; width:7px; height:7px; border-radius:50%; background:#0074a2; flex-shrink:0; }
.owner-section .home-owner-links { display:grid; gap:0; margin-top:28px; }
.owner-section .home-owner-links a { display:flex; justify-content:space-between; gap:16px; min-height:48px; padding-block:12px; border-bottom:1px solid #c8dce4; }
@media(max-width:900px) { .owner-section .home-owner { grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr); gap:32px; } .owner-copy h2 { font-size:2rem; } .owner-portrait figcaption { margin-inline:8px; padding:16px; } }
@media(max-width:700px) { .owner-section .home-owner { grid-template-columns:minmax(0,1fr); gap:32px; } .owner-portrait { width:min(100%,350px); margin-inline:auto; padding:14px 14px 0 0; } .owner-copy h2 { font-size:clamp(1.8rem,7vw,2.3rem); } .owner-copy .owner-intro { font-size:1.05rem; } }

#qualifikationen,[id^="nachweis-"],.certificate[id] { scroll-margin-top:24px; }
.story-profile > img { display:block; width:100%; height:auto; aspect-ratio:1; object-fit:cover; border-radius:12px; margin-bottom:24px; }
.service-image img[src*="service/wiederaufbau"] { object-position:center 44%; }
