body.has-universal-navigation > .icon-menu.horizontal-contact-dock{position:fixed;top:24px;left:50%;transform:translateX(-50%);z-index:9999;background:var(--navigation-glass,#ffffff70);border:1px solid #fff;opacity:1;visibility:visible;}
.has-universal-navigation > .icon-menu.horizontal-contact-dock,
.has-universal-navigation > .icon-menu.horizontal-contact-dock:hover,
.has-universal-navigation > .icon-menu.horizontal-contact-dock:focus-within {
 display:block; box-sizing:border-box; width:56px; height:56px; max-height:none; padding:0; overflow:visible; border-radius:999px;
 transition:width .45s cubic-bezier(.22,1,.36,1);
}
.has-universal-navigation > .icon-menu.horizontal-contact-dock.is-expanded { width:320px; }
.has-universal-navigation .horizontal-contact-dock > .dock-centre-toggle {
 position:absolute; left:50%; top:0; transform:translateX(-50%); width:56px; height:56px; display:grid; place-items:center; padding:0; border:1px solid var(--navigation-glass-border); border-radius:50%; background:var(--navigation-glass); color:var(--ink); cursor:pointer; z-index:2;
}
.horizontal-contact-dock .dock-centre-toggle > span { display:none; }
.has-universal-navigation .horizontal-contact-dock > :is(.dock-phone,.dock-email,.theme-toggle) {
 position:absolute; top:6px; left:calc(50% - 22px); right:auto; width:44px; height:44px; margin:0; padding:0; opacity:0; visibility:hidden; pointer-events:none;
 transition:transform .45s cubic-bezier(.22,1,.36,1),opacity .25s,visibility .25s;
}
.has-universal-navigation .horizontal-contact-dock.is-expanded > :is(.dock-phone,.dock-email,.theme-toggle) { opacity:1; visibility:visible; pointer-events:auto; }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .dock-phone { transform:translateX(-120px); }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .dock-email { transform:translateX(-64px); }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .theme-toggle { transform:translateX(64px); }
.horizontal-contact-dock .dock-centre-toggle:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
@media(prefers-reduced-motion:reduce) { .has-universal-navigation > .icon-menu.horizontal-contact-dock,.has-universal-navigation .horizontal-contact-dock > * { transition:none; } }

.has-universal-navigation .project-back-link { display:none; }
.bilka-top-contact { position:fixed; z-index:9999; top:calc(var(--site-frame-width,12px) + 12px); left:calc(var(--site-frame-width,12px) + 12px); display:flex; gap:8px; }
.bilka-top-contact a { position:relative; display:flex; align-items:center; justify-content:center; width:44px; height:44px; border:1px solid #fff; border-radius:50%; background:#ffffff70; backdrop-filter:blur(20px); color:#222; text-decoration:none; }
.bilka-top-contact svg { width:22px; height:22px; fill:currentColor; }
.bilka-top-contact span { position:absolute; left:0; top:calc(100% + 10px); padding:8px 12px; border-radius:12px; background:#fff; color:#222; font:13px/1.3 Arial,sans-serif; white-space:nowrap; opacity:0; visibility:hidden; transition:opacity .2s; }
.bilka-top-contact a:hover span,.bilka-top-contact a:focus-visible span { opacity:1; visibility:visible; }
body.has-universal-navigation > .bilka-corner-theme { position:fixed; z-index:9999; top:auto; left:auto; bottom:calc(var(--site-frame-width,12px) + 16px); right:calc(var(--site-frame-width,12px) + 16px); width:44px; height:44px; border-radius:50%; display:flex; align-items:center; justify-content:center; padding:10px; background:#ffffff9c; border:1px solid #fff; backdrop-filter:blur(20px); color:#222; }
.bilka-corner-theme svg { width:24px; height:24px; }
.has-universal-navigation .horizontal-contact-dock > :is(.bilka-dock-about,.bilka-dock-projects) { position:absolute; top:6px; left:calc(50% - 22px); width:44px; height:44px; display:flex; align-items:center; justify-content:center; opacity:0; visibility:hidden; pointer-events:none; transition:transform .35s,opacity .25s; }
.has-universal-navigation .horizontal-contact-dock.is-expanded > :is(.bilka-dock-about,.bilka-dock-projects) { opacity:1; visibility:visible; pointer-events:auto; }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .bilka-dock-about { transform:translateX(-64px); }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .bilka-dock-projects { transform:translateX(64px); }
body.has-universal-navigation .horizontal-contact-dock.is-expanded { width:240px; }

.has-universal-navigation .horizontal-contact-dock > :is(.bilka-dock-about,.bilka-dock-projects) svg{width:22px;height:22px;fill:currentColor}
[data-theme="dark"] .bilka-top-contact a,[data-theme="dark"] body.has-universal-navigation > .bilka-corner-theme{background:#29292ec9;color:#f4f4f4;border-color:#ffffff30}

/* Contact details expand in the row, pushing the following control along. */
.bilka-top-contact a { width:auto; flex:0 0 auto; justify-content:flex-start; overflow:hidden; }
.bilka-top-contact svg { flex:0 0 22px; margin:0 10px; }
.bilka-top-contact span { position:static; display:block; max-width:0; padding:0; border-radius:0; background:transparent; color:inherit; opacity:0; visibility:hidden; overflow:hidden; white-space:nowrap; transition:max-width .4s cubic-bezier(.22,1,.36,1),padding .4s cubic-bezier(.22,1,.36,1),opacity .2s,visibility .4s; }
.bilka-top-contact a:hover span,.bilka-top-contact a:focus-visible span { max-width:290px; padding-right:16px; opacity:1; visibility:visible; }
@media(prefers-reduced-motion:reduce){.bilka-top-contact span{transition:none;}}

/* Keep circular ends when contact information widens the controls. */
.bilka-top-contact a { border-radius:999px; box-sizing:border-box; height:44px; }
body.has-universal-navigation > .icon-menu.horizontal-contact-dock.is-expanded { width:184px; }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .bilka-dock-about { transform:translateX(-60px); }
.has-universal-navigation .horizontal-contact-dock.is-expanded > .bilka-dock-projects { transform:translateX(60px); }

.bilka-top-contact a { height:38px; }
.bilka-top-contact svg { width:18px; height:18px; flex-basis:18px; margin:0 9px; }

.has-universal-navigation .horizontal-contact-dock > a[aria-current="page"] { background:rgba(20,20,25,.08); border:1px solid rgba(20,20,25,.15); border-radius:50%; }
.dock-centre-toggle .navigation-home-icon{display:none;width:24px;height:24px;fill:currentColor}
.dock-centre-toggle:hover > svg:not(.navigation-home-icon),.dock-centre-toggle:focus-visible > svg:not(.navigation-home-icon){display:none}
.dock-centre-toggle:hover .navigation-home-icon,.dock-centre-toggle:focus-visible .navigation-home-icon{display:block}

/* Keep the preview artwork inside the folder's lower and side edges. */
.board-page #projekter .folder-previews,
.board-page #projekter .au-folder-brandguide { clip-path:none; overflow:visible; }
.board-page #projekter .folder-previews img { box-sizing:border-box; height:190px; }

.board-page #projekter .folder-project-tags { display:flex; flex-wrap:wrap; justify-content:center; gap:5px; width:100%; }
.board-page #projekter .folder-project-tags span { display:block; padding:5px 8px; border:1px solid #ffffffdd; border-radius:999px; background:#ffffff45; color:#27272b; font:500 10px/1.25 Arial,sans-serif; white-space:nowrap; }

.board-page #projekter .project-discipline-tags{display:flex;justify-content:center;flex-wrap:wrap;gap:6px;margin:12px auto 0;max-width:340px}
.board-page #projekter .project-discipline-tags span{padding:6px 10px;border:1px solid #ffffffdf;border-radius:999px;background:#ffffff30;color:var(--ink);font:500 12px/1.3 Arial,sans-serif}

.board-page #projekter .project-discipline-tags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));max-width:290px;gap:8px}
.board-page #projekter .project-discipline-tags span{text-align:center}

.board-page #projekter .project-discipline-tags{display:flex;flex-wrap:nowrap;justify-content:center;max-width:none;gap:6px}
.board-page #projekter .project-discipline-tags span{white-space:nowrap;flex:0 0 auto}

.board-page #projekter .project-discipline-tags span{background:rgba(218,214,229,.15);border-color:#fff;color:#26252b}
[data-theme="dark"] .board-page #projekter .project-discipline-tags span{background:#3c3945;border-color:#ffffff24;color:#f0edf5}

/* Hide the entire top menu, including expanded links, while scrolling down. */
body.has-universal-navigation.case-nav-hidden > .icon-menu.horizontal-contact-dock {
 opacity:0;
 visibility:hidden;
 pointer-events:none;
}
body.has-universal-navigation.case-nav-hidden > .horizontal-contact-dock > :is(.bilka-dock-about,.bilka-dock-projects) {
 visibility:hidden;
 pointer-events:none;
}

/* The separate top-corner controls follow the centre menu's scroll state. */
body.has-universal-navigation > :is(.bilka-top-contact,.project-folder-dock) {
 transition:opacity .24s ease,visibility .24s ease;
}
body.has-universal-navigation.case-nav-hidden > :is(.bilka-top-contact,.project-folder-dock) {
 opacity:0;
 visibility:hidden;
 pointer-events:none;
}
body.has-universal-navigation.case-nav-hidden > :is(.bilka-top-contact,.project-folder-dock) * {
 visibility:hidden;
 pointer-events:none;
}
@media(prefers-reduced-motion:reduce) {
 body.has-universal-navigation > :is(.bilka-top-contact,.project-folder-dock) { transition:none; }
}

/* Shared project folder on every page. */
.project-folder-dock {
 position:fixed; top:calc(var(--site-frame-width,12px) + 12px); right:calc(var(--site-frame-width,12px) + 12px);
 z-index:9998; display:flex; align-items:flex-start; gap:12px;
}
.project-folder-dock .project-overview-folder {
 position:relative; inset:auto; width:72px; height:64px; padding:0; border:0; background:none; cursor:pointer;
}
.project-folder-options { display:flex; gap:12px; max-width:calc(100vw - 140px); overflow-x:auto; padding:0 4px 12px; }
.project-folder-option { position:relative; flex:0 0 80px; width:80px; height:84px; text-decoration:none; color:var(--ink); opacity:0; visibility:hidden; transform:translateX(45px) rotate(8deg); transition:transform .5s cubic-bezier(.22,1,.36,1),opacity .3s,visibility .3s; }
.project-folder-option .project-folder { width:240px; height:180px; transform:scale(.3); transform-origin:top left; pointer-events:none; }
.project-folder-name { position:absolute; top:60px; left:0; width:100%; font:11px/1.3 Arial,sans-serif; text-align:center; }
.project-folder-dock.is-open .project-folder-option { opacity:1; visibility:visible; transform:none; transition-delay:calc(var(--folder-index) * 45ms); }
.project-folder-dock:not(.is-open) .project-folder-options { pointer-events:none; }
@media(prefers-reduced-motion:reduce) { .project-folder-option { transition:none; } }

/* Purpose-sized folder previews keep artwork and labels separate. */
.project-folder-options { gap:14px; padding:8px 8px 16px; }
.project-folder-option { flex-basis:88px; width:88px; height:104px; display:flex; flex-direction:column; align-items:center; gap:10px; }
.project-mini-folder { position:relative; display:block; width:76px; height:58px; margin-top:8px; border:1px solid #ffffffb3; border-radius:9px; background:linear-gradient(135deg,#e6e0f4,#edf1e7); box-shadow:0 5px 14px #24242d12; isolation:isolate; }
.project-mini-folder::before { content:''; position:absolute; left:0; top:-7px; width:32px; height:12px; border-radius:6px 9px 0 0; background:#e6e0f4; z-index:-1; }
.project-mini-folder img { position:absolute; inset:3px; width:calc(100% - 6px); height:calc(100% - 6px); object-fit:cover; border-radius:6px; }
.project-mini-folder::after { content:''; position:absolute; inset:17px -1px -1px; border-radius:4px 4px 9px 9px; border:1px solid #ffffffa6; background:linear-gradient(135deg,#ffffff70,#ffffff38); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px); box-shadow:inset 0 1px 0 #ffffffb3; }
.project-folder-options .project-folder-name { position:static; display:block; width:88px; font:500 11px/1.35 Arial,sans-serif; text-align:center; overflow-wrap:normal; }
.project-folder-option:hover .project-mini-folder { translate:0 -3px; }
.project-mini-folder { transition:translate .25s ease; }

/* Align the compact folder with the centre dock and limit its hover hit area. */
.project-folder-dock { top:calc(var(--site-frame-width,12px) + 12px); gap:8px; pointer-events:none; }
.project-folder-dock .project-overview-folder { width:58px; height:48px; pointer-events:auto; }
.project-folder-dock .project-overview-folder > .project-folder { width:360px; height:280px; margin:0; transform:scale(.16); transform-origin:top left; }
.project-folder-dock .project-folder-options { gap:10px; padding:0 4px 10px; pointer-events:none; }
.project-folder-dock.is-open .project-folder-options { pointer-events:auto; }
.project-folder-options .project-folder-option { flex-basis:64px; width:64px; height:80px; gap:7px; }
.project-folder-options .project-mini-folder { width:56px; height:43px; margin-top:5px; border-radius:7px; }
.project-folder-options .project-folder-name { width:64px; font-size:10px; }
.project-folder-options .project-mini-folder::before { width:25px; top:-5px; height:9px; }
.project-folder-options .project-mini-folder::after { inset:13px -1px -1px; border-radius:3px 3px 7px 7px; }
.project-folder-options .project-folder-name { font-weight:700; }


/* Project artwork inside the overview folder follows its available projects. */
.project-folder-dock .concept-sheets > span:has(img) { padding:0; overflow:hidden; }
.project-folder-dock .concept-sheets > span > img {
 display:block;
 width:100%;
 height:100%;
 object-fit:cover;
 border-radius:inherit;
}

/* The collapsed centre menu contains only its star, without overlapping icons. */
body.has-universal-navigation > .horizontal-contact-dock:not(.is-expanded) > :is(.bilka-dock-about,.bilka-dock-projects) {
 display:none;
}
body.has-universal-navigation > .horizontal-contact-dock:not(.is-expanded) .dock-centre-toggle > svg:not(.dock-star) {
 display:none;
}
body.has-universal-navigation > .horizontal-contact-dock:not(.is-expanded) .dock-centre-toggle > .dock-star {
 display:block;
}
