/* Shared accessibility and responsive-shell corrections.
   Page-specific art direction remains in each document. */
:root{
  --faint: rgba(22,22,22,0.7);
}

.skip-link{
  position:fixed;
  z-index:1000;
  top:0.75rem;
  left:0.75rem;
  padding:0.7rem 1rem;
  background:#F3F0E8;
  color:#161616;
  border:2px solid #161616;
  text-decoration:none;
  transform:translateY(-160%);
}
.skip-link:focus{
  transform:none;
}
main[tabindex="-1"]:focus{
  outline:none;
}

.field-dark :focus-visible,
#contact :focus-visible{
  outline-color:#F3F0E8;
}

.check input[type="checkbox"]{
  position:relative;
  border-color:rgba(22,22,22,0.55);
}
.check input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:0.31rem;
  top:0.12rem;
  width:0.28rem;
  height:0.55rem;
  border:solid #F3F0E8;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}

@media (max-width:600px){
  header:not(.site-head) > .wrap,
  header:not(.site-head) .head-row{
    height:auto !important;
    min-height:0;
    flex-direction:column;
    align-items:flex-start !important;
    gap:0.35rem !important;
    padding-top:0.8rem !important;
    padding-bottom:0.8rem !important;
  }
  header:not(.site-head) nav{
    width:100%;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:flex-start !important;
    gap:0 1rem !important;
  }
  header:not(.site-head) nav a{
    display:inline-flex;
    min-height:44px;
    align-items:center;
  }
  .mono-label{
    max-width:100%;
    white-space:normal !important;
    overflow-wrap:anywhere;
  }
}

@media (prefers-reduced-motion:reduce){
  .menu-btn span{
    transition:none !important;
  }
}
