/* Keyboard focus follows the site's type and plus marks, without box outlines. */
:focus{outline:none!important}
html:not(.pointer-input) :is(a,button):not(.film,.contact-pass-grip,.gallery-title-open,.contact-pass-link):focus-visible,
html:not(.pointer-input) :is(a,button):not(.film,.contact-pass-grip,.gallery-title-open,.contact-pass-link):focus-visible span,
html:not(.pointer-input) .gallery-title-mask:has(.gallery-title-open:focus-visible) #title,
html:not(.pointer-input) .gallery-title-mask:has(.gallery-title-open:focus-visible) #title span,
html:not(.pointer-input) #about-page:has(.board-rail:focus-visible) .board-swipe{
 text-decoration-line:underline;
 text-decoration-thickness:1px;
 text-underline-offset:.12em;
 text-decoration-skip-ink:auto;
}
/* Non-text controls get a small, static cross. Native input behavior is intact. */
html:not(.pointer-input) .film:focus-visible:not(.pointer-return)::after,
html:not(.pointer-input) .film:has(video:focus-visible)::after,
html:not(.pointer-input) #gallery:focus-visible .frame-guide::after,
html:not(.pointer-input) .project-media-slot:has(video:focus-visible)::after,
html:not(.pointer-input) .contact-pass-grip:focus-visible::after{
 content:"";
 position:absolute;
 z-index:30;
 left:50%;
 bottom:14px;
 width:17px;
 height:17px;
 transform:translateX(-50%);
 pointer-events:none;
 background:linear-gradient(#000,#000) center/1px 13px no-repeat,linear-gradient(#000,#000) center/13px 1px no-repeat,linear-gradient(#f5f5f3,#f5f5f3) center/3px 15px no-repeat,linear-gradient(#f5f5f3,#f5f5f3) center/15px 3px no-repeat;
}
/* Contact links retain their three individually drawn keyboard-focus circles. */
@media(forced-colors:active){
 html:not(.pointer-input) .film:focus-visible:not(.pointer-return)::after,
 html:not(.pointer-input) .film:has(video:focus-visible)::after,
 html:not(.pointer-input) #gallery:focus-visible .frame-guide::after,
 html:not(.pointer-input) .project-media-slot:has(video:focus-visible)::after,
 html:not(.pointer-input) .contact-pass-grip:focus-visible::after{
  forced-color-adjust:none;
  background:linear-gradient(CanvasText,CanvasText) center/1px 13px no-repeat,linear-gradient(CanvasText,CanvasText) center/13px 1px no-repeat,linear-gradient(Canvas,Canvas) center/3px 15px no-repeat,linear-gradient(Canvas,Canvas) center/15px 3px no-repeat;
 }
}
