/* Shared performance/accessibility primitives. Keep visual design page-owned. */
.skip-link{position:fixed;left:16px;top:16px;z-index:9999;padding:10px 14px;background:#0C0F12;color:#fff;border-radius:8px;transform:translateY(-160%);transition:transform .18s ease}
.skip-link:focus{transform:translateY(0)}
:focus-visible{outline:3px solid #B48B4D;outline-offset:3px}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
img{max-width:100%}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto!important}
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}

/* Mobile interaction and rendering safeguards. */
@media(max-width:900px){
  .mobile-menu{min-width:44px!important;min-height:44px!important;touch-action:manipulation}
}
img[loading="lazy"]{content-visibility:auto}

/* Preserve intrinsic aspect ratio for responsive brand assets. */
.brand img{height:auto!important}
.universal-footer__brand img{height:auto!important}

@media(max-width:1060px){
  .nav.mobile-open{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
    position:absolute;
    z-index:1000;
    top:calc(100% - 8px);
    left:max(18px,4vw);
    right:max(18px,4vw);
    height:auto!important;
    flex-direction:column;
    gap:0!important;
    padding:12px 18px;
    background:#FEFEFB;
    border:1px solid rgba(12,15,18,.16);
    border-radius:16px;
    box-shadow:0 18px 50px rgba(0,0,0,.13);
  }
  .nav.mobile-open a{
    min-height:44px;
    padding:12px 4px!important;
    border-bottom:1px solid rgba(12,15,18,.08);
  }
  .nav.mobile-open a:last-child{border-bottom:0}
}
