/* Shared interaction refinements; typography exceptions are deliberately scoped. */
:root { --type-body-size:15px; --type-body-leading:18px; }
.focus-overlay { position:fixed; inset:0; width:100%; height:100dvh; max-width:none; max-height:none; box-sizing:border-box; margin:0; border:0; padding:0; background:var(--paper); color:var(--ink); overflow:auto; }
.focus-overlay::backdrop { background:var(--paper); }
body.focus-overlay-open { overflow:hidden; }
.focus-overlay-bar { position:sticky; top:0; z-index:3; min-height:42px; padding:12px; background:var(--paper); }
.focus-overlay-bar p { margin:0; padding-right:36px; font:var(--type-sans-size)/var(--type-sans-leading) "GT Walsheim Regular",Arial,sans-serif; }
.focus-overlay-bar .image-lightbox-close { top:12px; right:12px; }
.focus-overlay #portrait { padding:12px .2rem 4rem; margin:0; }
body > #portrait { position:relative; }
body > #portrait .focus-direct-close { top:12px; right:12px; z-index:2; }
body > #portrait .focus-entry-title { padding-right:36px; }
#header .site-brand { position:relative; top:2px; }
#journal .journal-link { font-family:"GT Walsheim Regular",Arial,sans-serif; font-weight:400; line-height:1.16; align-items:flex-start; }
#journal .journal-link :is(.journal-link-icon,.ui-arrow) { flex-shrink:0; align-self:flex-start; margin-top:.15em; }
#header [data-selection-nav-filters] :is(a,button),
#mobile-menu [data-selection-nav-filters] :is(a,button),
#header .engagement-nav-options a,
#header .worklist-nav-options .filter-toggler { color:var(--ink); }
#header .engagement-nav-options a p,#mobile-menu .engagement-nav-options a p { color:inherit; }
#header [data-selection-nav-filters] :is(a,button),#header .worklist-nav-options .filter-toggler,#header .engagement-nav-options a { opacity:1; }
[data-selection-nav-filters] a { display:flex; align-items:baseline; gap:.4em; }
[data-selection-nav-filters] a::before { content:""; flex:0 0 .7em; width:.7em; height:.7em; border:1px solid var(--muted); border-radius:50%; }
[data-selection-nav-filters] a:hover::before { border-color:var(--ink); }
.site-footer :is(p,a),.site-footer .ui-arrow { transition:color .25s ease; }
.site-footer:is(:hover,:focus-within) :is(p,a) { color:var(--ink); }
.site-footer .ui-arrow { color:var(--muted); }
.site-footer a:is(:hover,:focus-visible) .ui-arrow { color:var(--ink); }
.image-lightbox-nav { color:var(--muted); }
.image-lightbox-nav:is(:hover,:focus-visible) { color:var(--ink); }
.image-lightbox-stage { cursor:pointer; }
html body :is(#kontakt,#kooperation) .office-copy a,
html body :is(#kontakt,#kooperation) .office-copy a > :is(span,p) { font-family:"Courier New",Courier,monospace !important; }
#presse .item-preview { position:relative; }
#presse .item-preview .presse-projects { padding-right:2rem; }
#presse .presse-projects p a::before { content:none; }
#presse .presse-action { position:absolute; right:.4rem; top:5px; width:var(--type-sans-size); }
#presse .presse-action .ui-arrow { width:var(--type-sans-size); height:var(--type-sans-size); color:var(--muted); }
#presse .presse-action:hover .ui-arrow { color:var(--ink); }
@media(min-width:45rem) {
 #buero .office-layout > .office-intro { grid-column:4 / 8; padding:0 .4rem; margin-bottom:var(--type-body-leading); }
}
@media(hover:hover) {
 #portraits .portrait-card > a { display:block; transition:opacity .3s ease; }
 #portraits .portrait-card > a:hover { opacity:.5; }
}
@media(prefers-reduced-motion:reduce) {
 #portraits .portrait-card > a,.site-footer :is(p,a),.site-footer .ui-arrow { transition:none; }
}
