/* Hover captions use sampled ink, without a halo, and stay at the image's top-left. */
[data-image-caption],[data-image-caption] :is(h2,span,p){text-shadow:none!important;-webkit-text-stroke:0!important}
.compact-project-caption{flex-direction:column;align-items:flex-start;justify-content:flex-start;text-align:left;padding:12px;gap:4px}
.category-collection .category-results .compact-project-caption h2{width:100%;text-align:left;line-height:1.3}
.blurred-hover-label{display:block;font:400 11px/1.2 Inter,Arial,sans-serif;letter-spacing:0;color:inherit;white-space:normal}
.is-confidential-project,.is-confidential-project :is(h2,span,p,img){cursor:default;text-decoration:none!important}
.is-confidential-project:focus-visible,.is-confidential-project *:focus-visible{color:inherit!important;text-decoration:none!important}
.is-confidential-project .project-column-copy h2{position:relative}
.is-confidential-project .project-column-copy h2>.blurred-hover-label{position:absolute;left:0;top:100%;width:100%;opacity:0;pointer-events:none}
.is-confidential-project:is(:hover,:focus-visible,:focus-within,.is-touch-revealed) .project-column-copy h2>.blurred-hover-label{opacity:1}
.project-index-table .is-confidential-project .index-project-name{position:relative}
.project-index-table .is-confidential-project .blurred-hover-label{position:absolute;top:100%;left:0;opacity:0;pointer-events:none}
.project-index-table .is-confidential-project:is(:hover,:focus-within,.is-touch-revealed) .blurred-hover-label{opacity:1}
.is-confidential-project .project-column-image{overflow:hidden}
.is-confidential-project .confidential-project-empty{display:block;aspect-ratio:4/3;height:auto;min-height:160px}
.is-confidential-project .project-cover{display:block;position:relative}
.is-confidential-project .project-cover .caption{pointer-events:none}
.work-overview-rail .work-preview-item>.work-preview-caption{position:relative;grid-column:2;grid-row:1;align-self:stretch;justify-self:start;z-index:1;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;width:160px;max-width:100%;height:160px;box-sizing:border-box;padding:10px;margin:0;opacity:0;pointer-events:none;overflow:hidden}
.work-overview-rail .work-preview-caption h2{font:700 14px/1.35 Inter,Arial,sans-serif;letter-spacing:0;text-align:left;white-space:normal;margin:0 0 4px}
.work-overview-rail .work-preview-caption .blurred-hover-label{font:400 11px/1.3 Inter,Arial,sans-serif;padding:0;margin:0;max-width:100%}
.work-overview-rail .work-preview-item:is(:hover,:focus-visible,:focus-within,.is-touch-revealed)>.work-preview-caption{opacity:1}
.work-overview-rail .work-preview-item:not(:has(.work-program))>.work-preview-caption{grid-column:1}
.work-overview-rail .work-preview-item.is-confidential-project{margin:12px 0}
.work-overview-rail .work-preview-item.is-confidential-project>.confidential-project-empty{min-height:0;height:160px;aspect-ratio:1}
.studio-jams-introduction{font:400 var(--office-type-size,18px)/1.5 Inter,Arial,sans-serif;margin:0 0 22px}
.studio-jams-introduction p{font:inherit;margin:0 0 12px}
.desktop-practice-measure{position:fixed;left:-100000px;top:0;visibility:hidden;pointer-events:none}
@media(min-width:621px){
 :root{--desktop-content-start:29vw;--desktop-control-top:26px;--desktop-category-right:42px;--desktop-profile-bottom:20px}
 body:not(.project-page):not(.search-page):not(.contact-full-page):not(.person-detail):not(.category-page) #main{margin-left:var(--desktop-content-start);width:calc(100% - var(--desktop-content-start));padding-right:var(--omi-x);box-sizing:border-box}
 .split-gallery #main>.filters>a{transform:translateY(var(--desktop-home-label-shift,0px))}
 .theme-toggle.display-control-toggle{top:var(--desktop-control-top)!important;transform:none!important}
 body #app>.sidebar .sidebar-bottom{position:fixed;left:var(--omi-x);right:auto;bottom:var(--desktop-profile-bottom)!important;width:calc(var(--desktop-content-start) - 2*var(--omi-x) - 24px);max-width:240px;padding:0;margin:0;display:flex;flex-direction:column;gap:24px}
 body #app>.sidebar .lagos-widget{font:700 22px/1.15 Inter,Arial,sans-serif;letter-spacing:-.025em;margin:0;white-space:nowrap}
 body #app>.sidebar .practice-socials{display:flex;align-items:center;flex-wrap:nowrap;gap:18px;margin:0;padding:0}
 body #app>.sidebar .practice-socials a{display:block;flex:none;width:20px;height:20px}
 body #app>.sidebar .sidebar-bottom #manage-link{order:-1}
 body.split-gallery .practice-band{position:fixed;left:var(--desktop-content-start)!important;right:0;bottom:0;width:auto;margin:0;padding:8px var(--omi-x) 10px 0;background:var(--site-bg);z-index:65}
 body.split-gallery .practice-band p{font-size:var(--desktop-practice-font,16px)!important;line-height:1.2;white-space:nowrap;margin:0}
 .work-overview-rail .work-bands{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:max-content;column-gap:80px;padding-left:0;margin-left:0}
 .work-overview-rail .work-preview-band{position:relative;width:max-content;min-width:0;height:calc(100dvh - var(--work-nav-top,150px) - 16px)}
 .work-overview-rail .work-preview-band>h2{width:max-content;min-width:0;white-space:nowrap;text-align:left;margin-left:0;padding-left:0}
 .work-overview-rail .work-preview-band>.work-preview-squares{position:absolute;left:0;top:70px;width:210px;max-width:none;box-sizing:border-box;padding-left:0}
 .category-hover-band{width:calc(100vw - var(--category-band-left,42px) - var(--desktop-category-right));padding-right:0;background:var(--site-bg)}
 .category-hover-band .collection-categories{justify-content:space-between;column-gap:16px}
 .category-hover-band .collection-categories>.singleton-row{margin-left:auto}
 body.desktop-large-view #main{padding-top:var(--desktop-feed-top,26px)!important;height:100dvh;overflow:hidden}
 body.desktop-large-view .category-collection-toolbar{display:none}
 body.desktop-large-view .category-results.is-project-columns{height:calc(100dvh - var(--desktop-feed-top,26px) - 16px);padding-top:var(--desktop-first-project-inset,170px);overflow-y:auto;overflow-x:hidden;overflow-anchor:none;scroll-padding-top:0}
}
@media(min-width:621px) and (max-width:1000px){.work-overview-rail .work-bands{column-gap:112px}}
@media(min-width:621px) and (max-width:850px){body #app>.sidebar .practice-socials{gap:8px}body.split-gallery .practice-band{padding-top:10px;padding-bottom:12px}body.split-gallery .practice-band p{white-space:normal;line-height:1.25}}
@media(hover:none),(pointer:coarse){.work-preview-item>.work-preview-caption{opacity:0}.work-preview-item.is-touch-revealed>.work-preview-caption{opacity:1}}

/* Keep the existing shared Jams/Coffee grid, with the optional introduction above it. */
.studio-jams-group{display:contents}
.studio-extras>.studio-jams-group>.studio-jams-introduction{grid-column:1/-1;grid-row:1;margin-bottom:0}
.studio-extras:has(.studio-jams-introduction) .studio-listening>div.studio-jams-header{grid-row:2}
.studio-extras:has(.studio-jams-introduction) .studio-coffee{grid-row:2}
.studio-extras:has(.studio-jams-introduction) .studio-listening ol{grid-row:3}
@media(max-width:850px){.studio-extras:has(.studio-jams-introduction) .studio-coffee{grid-row:4}}
@media(min-width:621px){.work-overview-rail .work-preview-band>h2 .filter-width{display:none}}

/* The hover menu clears the complete upper content area, not a stripe through images. */
.desktop-category-shield{display:none;position:fixed;inset:0 0 auto;z-index:55;background:var(--site-bg);pointer-events:auto}
@media(min-width:621px){
 body.category-collection:has(.category-hover-band.is-open)>.desktop-category-shield{display:block}
 .category-hover-band{transition:none}
}
