/* Static-only enhancements; the original compiled design is in style.css. */
[hidden] { display: none !important; }
.mft-skip-link { position: fixed; top: -5rem; left: 1rem; z-index: 1000; padding: .8rem 1.2rem; background: #1c1c1c; color: #fff; border: 2px solid #f06292; border-radius: .35rem; }
.mft-skip-link:focus { top: .6rem; }
:focus-visible { outline: 3px solid #a2115a; outline-offset: 4px; }
#main-content { scroll-margin-top: 6rem; }
[data-mobile-drawer] { overscroll-behavior: contain; }
.mft-client-logo-carousel { position: relative; touch-action: pan-y; }
[data-logo-track] { will-change: transform; }
[data-logo-track] > * { flex-shrink: 0; }
.mft-carousel-control { float: right; margin-top: .35rem; min-height: 32px; padding: .25rem .5rem; font-size: .75rem; color: #6b2850; text-decoration: underline; text-underline-offset: .2rem; }
.mft-error-main { flex: 1; }
.mft-error-hero { padding: clamp(8rem,14vw,11rem) 0 clamp(4rem,8vw,6rem); color: #fff; background: #1c1c1c; }
.mft-error-code { color: #f06292; font-family: 'Lora',serif; font-size: clamp(5rem,13vw,9rem); font-weight: 700; line-height: 1; margin: 1.5rem 0; letter-spacing: -.06em; }
.mft-error-hero h1 { font-size: clamp(2rem,5vw,3.75rem); font-weight: 700; line-height: 1.15; max-width: 800px; }
.mft-error-description { color: rgba(255,255,255,.8); font-size: 1.125rem; line-height: 1.75; max-width: 640px; margin-top: 1.5rem; }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
@media print { header,[data-mobile-drawer],.mft-carousel-control { display: none !important; } a { color: inherit !important; } }

/* The React header retains this divider even with its mobile drawer collapsed. */
@media (max-width: 1023px) {
  header:has([data-mobile-drawer][hidden])::after {
    content: "";
    display: block;
    border-top: 1px solid #f0ece4;
  }
}
