/* PEMA: complete names, readable headings and compact image credits. */
html body #main.page-view[data-route-view] :is(h1,h2,h3,h4){hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
html body #main.page-view[data-route-view] :is(.detail-facts,.case-evidence) strong{hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
html body #main.page-view[data-route-view] :is(.detail-facts,.case-evidence) strong.pema-long-value{font-size:clamp(17px,1.45vw,22px)!important;line-height:1.45!important}
html body #main .detail-facts>.fact-wide{flex:0 0 50%!important;max-width:50%!important}
html body main .pema-named-copy{hyphens:none!important;word-break:normal!important;overflow-wrap:normal!important}
html body main :is(.subpage-hero h1,.legal-hero h1,.detail-title h1,h2,h3){text-wrap:balance}
html body #main .team-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr))!important}
html body #main .team-cards article{min-width:0!important}
html body #main .team-cards article>div:last-child{min-width:0}
html body #main[data-route-view="contact"] .locations h2{font-size:clamp(19px,2.3vw,28px)!important;line-height:1.35!important;hyphens:none!important}
html body #main[data-route-view="contact"] .locations{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr))!important}
html body #main .case-evidence{display:flex!important;flex-wrap:wrap;justify-content:center}
html body #main .case-evidence>div{flex:1 1 300px;min-width:0;max-width:100%}
html body #main[data-route-view="imprint"] .legal-content{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
html body #main .pema-register-details{padding-right:0!important;min-width:0}
html body #main .pema-register-role{max-width:none;margin:0 0 .6em;line-height:1.65}
html body #main .pema-register-role:last-child{margin-bottom:0}
html body #main .pema-director-names{white-space:nowrap}
html body #main .pema-whole-name{white-space:nowrap;hyphens:none}
html body #main #bildnachweise{padding-left:0;padding-right:0;border-left:0;min-height:0;grid-column:1/-1}
html body #main #bildnachweise .pema-credit-list{margin:26px 0 0;padding:0;border-top:1px solid #cacbd1}
html body #main #bildnachweise .pema-credit-row{display:grid;grid-template-columns:minmax(180px,.8fr) minmax(0,1.4fr);gap:10px 28px;padding:18px 0;border-bottom:1px solid #cacbd1;scroll-margin-top:calc(var(--header-h,100px) + 24px)}
html body #main #bildnachweise dt{display:flex;align-items:flex-start;gap:12px;min-width:0;margin:0}
html body #main #bildnachweise .pema-credit-number{flex:0 0 22px;margin:3px 0 0;color:#8c6b41;font:700 13px/1.5 Arial,sans-serif;letter-spacing:.05em}
html body #main #bildnachweise .pema-credit-name{color:#1a1a1a;font:400 21px/1.35 Georgia,serif;text-decoration:underline;text-decoration-color:#a98556;text-underline-offset:.18em}
html body #main #bildnachweise dd{min-width:0;margin:0}
html body #main #bildnachweise dd p{max-width:none;margin:0;font:400 15px/1.55 Arial,sans-serif;color:#555}
html body #main #bildnachweise dd .pema-credit-author{margin-top:3px;color:#1a1a1a;font-weight:600;hyphens:none;overflow-wrap:normal}
@media(max-width:1200px){html body #main[data-route-view="imprint"] .legal-content{grid-template-columns:minmax(0,1fr)}html body #main[data-route-view="imprint"] .legal-content article,html body #main[data-route-view="imprint"] .legal-content article:nth-child(even){padding-left:0;border-left:0}}
@media(max-width:760px){html body #main h2.pema-heading-fit{font-size:clamp(20px,6.1vw,32px)!important;line-height:1.2!important}html body #main .detail-facts>.fact-wide{flex-basis:100%!important;max-width:100%!important}}
@media(max-width:640px){html body #main #bildnachweise .pema-credit-row{grid-template-columns:minmax(0,1fr);gap:6px;padding:16px 0}html body #main #bildnachweise dd{padding-left:34px}html body #main .pema-director-names{white-space:normal}html body #main .pema-register-management .pema-role-label{display:block}html body #main[data-route-view="contact"] .locations>article{padding-left:0!important;padding-right:0!important}}
@media(max-width:480px){html body #main h1.pema-heading-fit{font-size:clamp(31px,8.5vw,40px)!important;line-height:1.1!important}html body #main .team-cards article{grid-template-columns:minmax(0,1fr)!important}html body #main .team-cards article>div:last-child{width:100%}html body #main .team-cards article p{font-size:18px!important;line-height:1.4!important}}

/* 26 Oct 2026: text sections use horizontal rules, never partial boxes. */
html body #main .legal-content{column-gap:clamp(28px,4vw,64px);row-gap:0}
html body #main .legal-content>article,
html body #main .legal-content>article:nth-child(even){border:0!important;border-top:1px solid #cacbd1!important;padding:clamp(20px,2.5vw,36px) 0!important;min-height:0!important;min-width:0}
html body #main #haftung-und-links{grid-column:1/-1}
html body #main #haftung-und-links p{max-width:80ch}
html body #main .home-services-grid,
html body #main .capability-grid{border:0!important;column-gap:clamp(24px,3.5vw,56px);row-gap:0}
html body #main .home-services-grid>a,
html body #main .home-services-grid>a:nth-child(n),
html body #main .capability-grid>article,
html body #main .capability-grid>article:nth-child(n){border:0!important;border-top:1px solid #cacbd1!important;padding:clamp(24px,2.8vw,40px) 0!important;min-width:0}
html body #main .home-services-grid>a:focus-visible{outline:2px solid #8c6b41;outline-offset:5px}

/* Visual review: one divider per transition, aligned to the content grid. */
html body #main.legal-view .legal-hero{border-bottom:0!important}
html body #main #bildnachweise{padding-bottom:0!important}
html body #main #bildnachweise .pema-credit-row:last-child{border-bottom:0!important}
html body #main .archive-project-actions{border-top:0!important;margin-top:0!important}
html body #main .founder-gallery{border-top:0!important}
html body #main .principle-grid{column-gap:clamp(24px,3.5vw,56px);row-gap:0}
html body #main .principle-grid>article{border:0!important;border-top:1px solid #cacbd1!important;padding:clamp(24px,2.8vw,40px) 0!important;min-height:0!important;min-width:0}

/* Keep the location and email on the logo's horizontal centre line. */
footer .footer-brand{display:flex;flex-direction:column;align-items:center;width:max-content;max-width:100%;text-align:center}
footer .footer-brand>a:first-child{display:block}
footer .footer-brand>a:first-child img{display:block;margin-inline:auto}
footer .footer-brand>p{margin-inline:0;text-align:center}
