.site-header{position:relative;z-index:50;padding:38px 30px 0;text-align:center;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#ccc}
.site-header .logo{display:inline-block;width:220px}.site-header .logo img{display:block;width:100%;height:auto;object-fit:contain}
.site-header .main-nav{display:flex;align-items:center;justify-content:center;gap:38px;margin:22px 0 0;min-height:48px}
.site-header .main-nav a,.site-header .site-logout{font:500 12px/29px Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-transform:uppercase;color:#bbb;padding:8px 0;text-decoration:none;border:0;background:none;cursor:pointer}
.site-header .main-nav a:hover,.site-header .site-logout:hover{color:#fff}.site-header .main-nav form{margin:0}
.site-header .menu-toggle{display:none}.site-header-light{background:#fff;color:#252521;border-bottom:1px solid #deddd5;padding:18px 28px 8px}
.site-header-light .logo{width:160px}.site-header-light .main-nav{margin-top:8px}.site-header-light .main-nav a,.site-header-light .site-logout{color:#50544b}
.site-header-light .main-nav a:hover,.site-header-light .site-logout:hover{color:#171a14}
.site-footer{position:relative;padding:28px 30px;text-align:center;font:400 13px/1.8 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.site-footer a{color:inherit;text-decoration:none}.footer-links,.social-links{display:flex;gap:28px;justify-content:center}.footer-links{flex-wrap:wrap;row-gap:8px}.social-links{margin-top:16px}.social-links img{display:block;width:25px;height:25px}
.skip-link{position:absolute;left:12px;top:-100px;z-index:200;background:#fff;color:#111;padding:12px}.skip-link:focus{top:8px}
@media(max-width:1020px){
 .site-header,.site-header-light{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;min-height:84px;background:#080808}
 .site-header-light{background:#fff}.site-header .logo{width:150px;flex-shrink:0}.site-menu-buttons{display:flex;align-items:center;gap:8px}
 .site-header .menu-toggle{display:flex;align-items:center;justify-content:center;position:relative;top:auto;right:auto;border:1px solid #555;border-radius:0;width:44px;height:44px;padding:0;background:transparent;color:#ddd;cursor:pointer}
 .site-header .menu-toggle span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .site-header .menu-toggle i,.site-header .menu-toggle i::before,.site-header .menu-toggle i::after{position:absolute;display:block;width:20px;height:2px;border:0;background:currentColor;content:'';left:11px;top:20px}
 .site-header .menu-toggle i::before{left:0;top:-6px}.site-header .menu-toggle i::after{left:0;top:6px}
 .site-header-light .menu-toggle{border-color:#cbd0c2;color:#252521}.site-header .menu-toggle[aria-expanded=true] i{background:transparent}.site-header .menu-toggle[aria-expanded=true] i::before{top:0;transform:rotate(45deg)}.site-header .menu-toggle[aria-expanded=true] i::after{top:0;transform:rotate(-45deg)}
 .site-header .main-nav{display:none;position:absolute;top:100%;left:0;right:0;margin:0;padding:20px;background:#111;border-bottom:1px solid #555;align-items:stretch;flex-direction:column;gap:4px;box-shadow:0 12px 20px #0003}
 .site-header.menu-open .main-nav{display:flex}.site-header .main-nav a,.site-header .site-logout{display:block;text-align:left;padding:10px 14px;min-height:44px;font-size:14px}
 .site-header-light .main-nav{background:#fff;border-color:#deddd5}.site-footer{padding:22px}
}

.site-header .about-toggle{background:none;border:0;color:inherit;font-weight:700;letter-spacing:4px;cursor:pointer;min-height:44px;padding:8px}.site-about-dialog{position:fixed;width:min(440px,calc(100% - 30px));padding:48px 32px 28px;border:1px solid #555;border-radius:8px;background:#171717;color:#ddd}.site-about-dialog img{object-fit:cover;border-radius:50%;margin-bottom:24px}.site-about-dialog .dialog-close{position:absolute;top:8px;right:12px;background:none;border:0;font-size:28px;color:inherit}.site-about-dialog::backdrop{background:#0009}

.site-header .main-nav a,.site-header .site-logout{white-space:nowrap}
@media(min-width:761px) and (max-width:1020px) and (min-height:501px),(min-width:1001px) and (max-width:1020px){.site-header .administration-toggle{display:none}}

/* Public navigation palette; the light administration menu keeps its own contrast. */
.site-header:not(.site-header-light) .main-nav a,.site-header:not(.site-header-light) .site-logout,.site-header:not(.site-header-light) .about-toggle,.site-header:not(.site-header-light) .website-toggle{color:var(--website-menu-color,#bbb)}
.site-header:not(.site-header-light) .main-nav a:hover,.site-header:not(.site-header-light) .site-logout:hover,.site-header:not(.site-header-light) .about-toggle:hover,.site-header:not(.site-header-light) .website-toggle:hover{color:#fff}

/* One responsive photographer introduction for website, administration and customer forms. */
.site-header .about-toggle{font:500 12px/29px Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;text-transform:uppercase;letter-spacing:normal;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:8px 0}
.profile-dialog{box-sizing:border-box;max-height:calc(100vh - 30px);max-height:calc(100dvh - 30px);overflow:auto;font:400 15px/1.65 Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;overflow-wrap:anywhere}
.profile-dialog .portrait{display:block;width:160px;height:160px;object-fit:cover;border-radius:50%;margin:0 auto 24px}.profile-dialog h2{font-size:28px;line-height:1.25;margin:8px 0 22px}.profile-dialog h3{font-size:16px;line-height:1.5;margin:24px 0 8px}.profile-dialog p{font-size:15px;line-height:1.65;margin:0}.profile-dialog ul{padding-left:22px;margin:0}.profile-dialog .contact-links{display:grid;gap:8px;margin:26px 0 0;font:inherit}.profile-dialog .contact-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}
@media(max-width:1020px){.site-header .about-toggle{max-width:none;white-space:normal;overflow-wrap:anywhere;text-align:left;font-size:14px;padding:10px 14px;line-height:1.5}}
@media(max-width:480px){.profile-dialog{padding:48px 24px 26px}.profile-dialog h2{font-size:25px}}

/* The same editable footer on every surface; all groups wrap independently. */
.website-footer{display:grid;gap:12px;overflow-wrap:anywhere}.website-footer .footer-name{font:600 14px/1.6 Inter,system-ui,sans-serif;margin:0;color:inherit}.website-footer .footer-contacts,.website-footer .footer-links,.website-footer .social-links{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:8px 26px;margin:0;width:min(1120px,100%);justify-self:center}.website-footer a>span{display:inline;min-width:0}.website-footer a{min-width:0;max-width:100%;padding:4px 0}.website-footer .social-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;opacity:1}.website-footer .social-links img{flex:0 0 25px;opacity:.7}.website-footer a:hover{text-decoration:underline;text-underline-offset:4px}.website-footer .back-top{justify-self:center;margin:10px 0 0}
/* Let a longer footer flow below the homepage content, including small screens. */
body[data-page=startseite]{display:flex;flex-direction:column;height:auto;min-height:100svh}body[data-page=startseite] main{flex:1;display:flex;align-items:stretch;width:100%}body[data-page=startseite] .home{position:relative;flex:1;min-height:360px;width:100%}body[data-page=startseite] .home-link{position:absolute}body[data-page=startseite] .website-footer{position:relative;flex-shrink:0;bottom:auto;left:auto;right:auto}
@media(max-width:600px){.website-footer .footer-contacts,.website-footer .footer-links,.website-footer .social-links{gap:4px 20px}.website-footer a{min-height:36px;display:inline-flex;align-items:center;justify-content:center}}

/* Additional page links retain the shared header on every viewport. */
@media(min-width:1021px){.site-header .main-nav{flex-wrap:wrap;column-gap:30px;row-gap:0}.site-header .main-nav a{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
@media(max-width:1020px){.site-header .main-nav{max-height:calc(100dvh - 90px);overflow-y:auto;overscroll-behavior:contain}.site-header .main-nav a{white-space:normal;overflow-wrap:anywhere}}

.page-content h1{overflow-wrap:anywhere}

/* Footer menu actions use the same baseline as its text links. */
.website-footer .about-toggle,.website-footer .site-logout{font:inherit;letter-spacing:normal;text-transform:none;background:none;border:0;color:inherit;padding:4px 0;margin:0;cursor:pointer;max-width:100%;white-space:normal;overflow-wrap:anywhere}.website-footer .footer-links form{display:inline-flex;margin:0}.website-footer .footer-links button:hover{text-decoration:underline;text-underline-offset:4px}@media(max-width:600px){.website-footer .footer-links button{min-height:36px}}

/* Editable logout labels use the same wrapping as mobile menu links. */
@media(max-width:1020px){.site-header .site-logout{max-width:100%;white-space:normal;overflow-wrap:anywhere}}
