.content-hero{padding:clamp(60px,8vw,120px) 6vw 48px;max-width:1500px;margin:auto}.content-hero h1{font-size:clamp(44px,7vw,100px);line-height:.97;max-width:1100px;margin:24px 0}.content-hero .lead{max-width:760px}.content-breadcrumb{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:35px;font-size:14px}.content-body{max-width:1250px;margin:auto;padding:0 6vw 90px}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.gallery-card{margin:0;min-width:0}.gallery-card>a{display:block;position:relative;overflow:hidden;border-radius:4px}.gallery-card img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;display:block;transition:transform .2s}.gallery-card a:hover img{transform:scale(1.025)}.gallery-card h2{font-size:22px;margin:20px 0 8px}.gallery-card p{font-size:15px;line-height:1.6}.gallery-enlarge{position:absolute;right:12px;bottom:12px;background:var(--accent,#dcff47);padding:6px 12px;font-size:24px}.gallery-empty{grid-column:1/-1;padding:40px;border:1px solid #778580}.gallery-viewer{width:min(1100px,96vw);max-height:94dvh;background:#182623;color:#fff;border:0;padding:20px;border-radius:8px}.gallery-viewer::backdrop{background:#071310e8}.gallery-viewer figure{margin:0}.gallery-viewer img{display:block;width:100%;height:70dvh;object-fit:contain}.gallery-viewer figcaption{font-size:18px;text-align:center;margin:12px 0}.gallery-viewer header,.gallery-viewer footer{display:flex;align-items:center;justify-content:space-between;gap:15px}.gallery-viewer button{min-width:48px;min-height:44px;color:inherit;background:transparent;border:1px solid #91a29c;border-radius:4px;font-size:20px}.gallery-editor-preview{width:100%;height:220px;object-fit:contain;background:#d2d6d3}.gallery-edit-form label{display:grid;gap:8px;margin:18px 0}.gallery-edit-form input,.gallery-edit-form textarea,.gallery-edit-form select{width:100%;font:inherit;padding:12px;border:1px solid #8c9891;border-radius:3px}.gallery-admin-nav{display:flex;gap:16px;flex-wrap:wrap;margin:20px 0}.job-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.job-card{border:1px solid #718378;padding:30px}.job-card h2{font-size:clamp(25px,3vw,38px);line-height:1.13}.job-card .button{margin-top:20px}.job-facts{display:flex;flex-wrap:wrap;gap:12px;font-size:14px}.job-facts span{border:1px solid #788b7e;padding:7px 12px;border-radius:30px}.job-body{max-width:900px}.job-body section{padding:26px 0;border-top:1px solid #87968a}.job-body h2{font-size:30px}.job-body p,.job-body li{line-height:1.75}.job-contact{background:#d4d9d2;padding:30px!important;margin-top:25px}.job-contact .button{margin:8px 12px 8px 0}.content-cta{margin-top:60px;padding-top:30px;border-top:1px solid #7f8c82}.agb-document p{overflow-wrap:anywhere;line-height:1.75}.agb-document h2{margin-top:45px;font-size:26px}.agb-scope{padding:22px;border-left:3px solid #3a5a42;background:#d7dcd7;margin:25px 0}.agb-print{margin:15px 0 25px}@media(max-width:800px){.gallery-grid{grid-template-columns:1fr 1fr}.job-grid{grid-template-columns:1fr}.content-hero h1{font-size:clamp(42px,10vw,72px)}}@media(max-width:520px){.gallery-grid{grid-template-columns:1fr}.content-hero{padding:48px 5vw 28px}.content-body{padding:0 5vw 70px}.gallery-viewer img{height:65dvh}.job-card{padding:22px}}@media(prefers-reduced-motion:reduce){.gallery-card img{transition:none}}

.gallery-viewer footer{background:transparent;color:inherit;padding:8px 0 0;border:0}.gallery-viewer button:disabled{opacity:.35}.gallery-viewer header{position:static;background:transparent;color:inherit;padding:0;border:0}

#gallery-admin .upload{display:block;border-radius:4px}#gallery-admin .upload input{display:block;width:100%;margin:14px auto 0}#gallery-admin .upload:focus-within{outline:2px solid var(--signal,#dcff47);outline-offset:4px}

.job-admin-item{grid-template-columns:minmax(0,1fr) auto}.job-admin-tools{display:flex;flex-wrap:wrap;gap:12px}.job-admin-item h3,.job-card h2,.job-body{overflow-wrap:anywhere}.job-admin-item .admin-item-actions a{font-size:14px;border-bottom:1px solid currentColor}.job-admin-item p{margin:8px 0}#jobs-admin{scroll-margin-top:25px}@media(max-width:640px){.job-admin-item{grid-template-columns:1fr}.job-admin-item .admin-item-actions{justify-content:flex-start;flex-wrap:wrap}}

/* Long German headings must fit narrow screens without horizontal overflow. */
body[data-page="agb"] .content-hero h1{hyphens:auto;overflow-wrap:anywhere}
