/* Shared accessibility refinements, deliberately independent of project palettes. */
:root{--dg-focus-ink:#111;--dg-focus-halo:#fff}
/* Two contrasting edges remain visible on both light and dark project sections. */
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{
 outline:2px solid var(--dg-focus-ink)!important;
 outline-offset:3px!important;
 box-shadow:0 0 0 3px var(--dg-focus-halo)!important;
}
:where(a,button,input,select,textarea,summary,[tabindex]){scroll-margin-block:100px 100px}
.skip-link{position:fixed;left:20px;top:12px;transform:translateY(-180%);z-index:1000;padding:14px 20px;background:#fff;color:#1d1e1c;font:600 16px/1.4 Arial,Helvetica,sans-serif;text-decoration:underline}
.skip-link:focus,.skip-link:focus-visible{left:20px;top:12px;transform:none;z-index:1000}
:where(button,input,select,textarea){font:inherit}
:where(button,a,input,select,textarea,summary){touch-action:manipulation}
.db-header .menu-button{min-width:44px;min-height:44px}
.db-footer-nav a,.db-footer-bottom a{min-height:28px;display:inline-flex;align-items:center}
.db-footer a{text-underline-offset:.22em}
.db-footer a:hover,.db-footer a:focus-visible{text-decoration:underline}
.dbs-back span{color:#676862}
.kk-chapter-nav b{color:#666}
/* Long lists remain scrollable with native touch and keyboard behaviour. */
.cs-case .cs-nav-list{overscroll-behavior:contain}
/* Do not require motion to discover content or understand a control. */
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto!important}
 *,*::before,*::after{
  scroll-behavior:auto!important;
  animation-duration:.01ms!important;
  animation-iteration-count:1!important;
  animation-delay:0ms!important;
  transition-duration:.01ms!important;
  transition-delay:0ms!important;
 }
}
@media(forced-colors:active){
 :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:Highlight!important;box-shadow:none!important}
 .cs-case .cs-nav-list a[aria-current=location]{outline:2px solid Highlight;outline-offset:-2px}
 .cs-case .cs-nav-progress>span{background:Highlight}
}
@media print{
 .skip-link{display:none}
}
/* Keep captions legible when a neighbouring image is cropped or layered. */
.dbp-screen-label{position:relative;z-index:1}
.musso-case .mu-wordmark figcaption{position:relative;z-index:1;background:#fff;font-size:12px;line-height:1.5;padding:8px 14px;width:fit-content;max-width:100%;margin-inline:auto;color:#62585e}
.inspo-sport .sport-brand-plate figcaption span{background:#f7f7f2;color:#1c1d1b;padding:5px 8px;font-size:12px;line-height:1.4}
@media(max-width:400px){.inspo-sport .sport-brand-plate figcaption{flex-wrap:wrap}}
