/* Local utility layer replacing runtime Tailwind CDN. Scope: classes used by davidkirubi.com Track A pages. */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:currentColor}html{line-height:1.5;-webkit-text-size-adjust:100%;tab-size:4}body{margin:0}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){text-decoration:underline dotted}h1,h2,h3,h4,h5,h6,p,blockquote,figure,pre{margin:0}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0;background-color:transparent;background-image:none}button,select{text-transform:none}button,[type=button],[type=reset],[type=submit]{-webkit-appearance:button}button{cursor:pointer}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}ol,ul,menu{list-style:none;margin:0;padding:0}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none!important}
.container{width:100%;margin-left:auto;margin-right:auto}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.fixed{position:fixed}.top-0{top:0}.left-0{left:0}.right-0{right:0}.z-50{z-index:50}.block{display:block}.hidden{display:none}.flex{display:flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.gap-10{gap:2.5rem}.gap-12{gap:3rem}.gap-x-6{column-gap:1.5rem}.gap-x-12{column-gap:3rem}.gap-y-3{row-gap:.75rem}.gap-y-6{row-gap:1.5rem}.space-x-8>:not([hidden])~:not([hidden]){margin-left:2rem}.space-y-2>:not([hidden])~:not([hidden]){margin-top:.5rem}.space-y-3>:not([hidden])~:not([hidden]){margin-top:.75rem}.space-y-4>:not([hidden])~:not([hidden]){margin-top:1rem}.space-y-12>:not([hidden])~:not([hidden]){margin-top:3rem}
.mx-auto{margin-left:auto;margin-right:auto}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mt-20{margin-top:5rem}.mb-6{margin-bottom:1.5rem}.mb-10{margin-bottom:2.5rem}.mb-12{margin-bottom:3rem}.p-2{padding:.5rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-20{padding-top:5rem;padding-bottom:5rem}.pt-8{padding-top:2rem}.pt-12{padding-top:3rem}.pt-32{padding-top:8rem}.pt-40{padding-top:10rem}.pb-16{padding-bottom:4rem}.pb-24{padding-bottom:6rem}
.h-6{height:1.5rem}.w-6{width:1.5rem}.w-full{width:100%}.max-w-sm{max-width:24rem}.max-w-lg{max-width:32rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.text-center{text-align:center}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-4xl{font-size:2.25rem;line-height:2.5rem}.text-6xl{font-size:3.75rem;line-height:1}.leading-none{line-height:1}.leading-snug{line-height:1.375}.leading-relaxed{line-height:1.625}.tracking-tight{letter-spacing:-.025em}.tracking-widest{letter-spacing:.1em}.tracking-\[0\.18em\]{letter-spacing:.18em}.uppercase{text-transform:uppercase}.text-white{color:#fff}.text-gray-400{color:#9ca3af}.bg-\[\#070A11\]{background-color:#070A11}.bg-opacity-80{--tw-bg-opacity:.8}.backdrop-blur-md{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:150ms}.duration-300{transition-duration:300ms}.hover\:text-white:hover{color:#fff}
@media (min-width:768px){.md\:hidden{display:none}.md\:flex{display:flex}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.md\:col-span-4{grid-column:span 4 / span 4}.md\:col-span-5{grid-column:span 5 / span 5}.md\:col-span-7{grid-column:span 7 / span 7}.md\:col-span-8{grid-column:span 8 / span 8}.md\:text-lg{font-size:1.125rem;line-height:1.75rem}}

/* Page-specific Track A home styles, extracted from previous inline block. */
/* ─── Track A Token System ─── */
        :root {
            --bg: #070A11;
            --bg-lift: #0C1220;
            --border: rgba(184, 149, 90, 0.20);
            --border-strong: rgba(184, 149, 90, 0.45);
            --gold: #B8955A;
            --gold-low: rgba(184, 149, 90, 0.30);
            --ink: #EDE9E1;
            --ink-mid: rgba(237, 233, 225, 0.55);
            --ink-low: rgba(237, 233, 225, 0.35);
            --font-display: "Cormorant Garamond", "Adobe Garamond", Georgia, serif;
            --font-text: "Literata Variable", "Source Serif", Georgia, serif;
            --font-ui: "Inter Variable", "Inter", system-ui, sans-serif;
        }

        html, body {
            background: var(--bg);
            color: var(--ink);
        }

        body {
            font-family: var(--font-text);
            font-feature-settings: 'kern' 1, 'liga' 1, 'onum' 1;
            line-height: 1.65;
            -webkit-font-smoothing: antialiased;
            -moz-osx-font-smoothing: grayscale;
        }

        h1, h2, h3, h4, .font-montserrat, .font-display {
            font-family: var(--font-display);
            font-weight: 600;
            letter-spacing: 0;
            color: var(--ink);
        }

        nav, .nav-link, button, .load-more-btn, .link-style, .ui {
            font-family: var(--font-ui);
            letter-spacing: 0.02em;
        }

        a { color: inherit; text-decoration: none; }

        /* Editorial section rules — gold-toned hairline replaces the gray section-separator */
        .section-separator {
            border-top: 1px solid var(--border);
        }

        /* Page switching (preserved) */
        .page { display: none; }
        .page.active { display: block; }

        /* Header — dark on dark with gold-toned bottom hairline */
        #header {
            background: rgba(7, 10, 17, 0.85);
            backdrop-filter: blur(12px);
            -webkit-backdrop-filter: blur(12px);
            border-bottom: 1px solid var(--border);
        }
        .nav-link {
            color: var(--ink-mid);
            transition: color 0.2s ease-in-out;
        }
        .nav-link:hover, .nav-link.active {
            color: var(--gold);
        }
        .wordmark {
            color: var(--ink);
            font-family: var(--font-display);
            font-weight: 600;
            font-size: 1.125rem;
            letter-spacing: 0.18em;
            text-transform: uppercase;
            display: inline-flex;
            align-items: baseline;
            gap: 0.5em;
        }
        .wordmark-accent {
            color: var(--gold);
        }

        /* Links — gold per Track A canon */
        .link-style {
            color: var(--gold);
            text-decoration: none;
            font-size: 0.875rem;
            cursor: pointer;
            transition: color 0.2s ease-in-out, border-color 0.2s ease-in-out;
            border-bottom: 1px solid transparent;
        }
        .link-style:hover {
            color: var(--ink);
            border-bottom-color: var(--gold);
        }

        /* Bio / track-record / intro paragraph spacing */
        .bio-narrative p, .track-record-narrative p, .intro-paragraph p {
            margin-bottom: 1rem;
            color: var(--ink);
        }
        .bio-narrative strong, .track-record-narrative strong, .intro-paragraph strong {
            font-weight: 600;
            color: var(--gold);
        }
        .bio-narrative em, .track-record-narrative em, .intro-paragraph em {
            font-style: italic;
        }

        /* Square list bullets become Track A gold */
        .list-square {
            list-style-type: square;
            padding-left: 1.5rem;
        }
        .list-square li::marker {
            color: var(--gold-low);
        }

        /* Load-more button */
        .load-more-btn {
            color: var(--ink-mid);
            text-transform: uppercase;
            font-size: 0.75rem;
            letter-spacing: 0.08em;
            font-weight: 500;
            background: none;
            border: 1px solid var(--border);
            padding: 0.5rem 1.25rem;
            cursor: pointer;
            transition: color 0.2s, border-color 0.2s;
        }
        .load-more-btn:hover {
            color: var(--gold);
            border-color: var(--gold);
        }

        /* Hero copy paragraphs */
        .hero-copy p {
            color: var(--ink);
            margin-bottom: 1rem;
        }
        .hero-copy p:last-child {
            margin-bottom: 0;
        }

        /* Track Record entry styling */
        .track-record-entry {
            padding-top: 2rem;
            border-top: 1px solid var(--border);
        }
        .track-record-entry:first-child {
            padding-top: 0;
            border-top: none;
        }
        .track-record-entry h3 {
            color: var(--ink);
            font-weight: 600;
        }
        .track-record-entry .subtitle {
            color: var(--ink-mid);
            font-family: var(--font-ui);
            font-size: 0.875rem;
            letter-spacing: 0.02em;
            margin-top: 0.25rem;
        }

        /* Acquisition Mandate <details> block — bg-lift card */
        .track-record-entry details {
            margin-top: 1.5rem;
            border: 1px solid var(--border);
            background: var(--bg-lift);
            padding: 0;
        }
        .track-record-entry details summary {
            cursor: pointer;
            padding: 0.75rem 1rem;
            font-family: var(--font-ui);
            font-size: 0.75rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            color: var(--ink-mid);
            transition: color 0.2s;
            list-style: none;
        }
        .track-record-entry details summary::-webkit-details-marker { display: none; }
        .track-record-entry details summary:hover { color: var(--gold); }
        .track-record-entry details[open] summary {
            color: var(--gold);
            border-bottom: 1px solid var(--border);
        }
        .track-record-entry details summary::before {
            content: '+ ';
            color: var(--gold);
            font-weight: 700;
        }
        .track-record-entry details[open] summary::before {
            content: '− ';
        }
        .track-record-entry details > div {
            padding: 1rem 1rem 1.5rem;
        }
        .track-record-entry details h4 {
            color: var(--gold);
            font-family: var(--font-ui);
            font-size: 0.875rem;
            text-transform: uppercase;
            letter-spacing: 0.08em;
            font-weight: 600;
        }

        /* News item card */
        .news-item {
            padding-bottom: 1.5rem;
            border-bottom: 1px solid var(--border);
        }
        .news-item:last-child { border-bottom: none; }
        .news-item .news-date {
            color: var(--ink-mid);
            font-family: var(--font-ui);
            font-size: 0.7rem;
            font-weight: 600;
            text-transform: uppercase;
            letter-spacing: 0.08em;
        }
        .news-item h4 {
            font-family: var(--font-display);
            color: var(--ink);
            font-size: 1.25rem;
            font-weight: 600;
            line-height: 1.35;
            margin-top: 0.25rem;
        }

        /* Page-title block on subroutes */
        .page-title-section h1 {
            color: var(--ink);
            font-family: var(--font-display);
            font-weight: 600;
            letter-spacing: 0;
        }
        .page-title-section {
            border-bottom: 1px solid var(--border);
        }

        /* Footer */
        footer {
            border-top: 1px solid var(--border);
        }
        footer p {
            color: var(--ink-mid);
            font-family: var(--font-ui);
            font-size: 0.75rem;
        }

        /* Book cover card — matted-mount frame: parchment matte + outline + halo + deep drop */
        .book-cover-card {
            box-shadow: 0 0 60px rgba(237, 233, 225, 0.20), 0 0 0 6px rgba(237, 233, 225, 0.05), 0 0 0 7px rgba(237, 233, 225, 0.35), 0 30px 60px -15px rgba(0, 0, 0, 0.7);
        }

        /* Tagline emphasis */
        .tagline {
            font-family: var(--font-display);
            font-style: italic;
            color: var(--gold);
        }

        /* Hover gold for any explicit text-gray override carryover */
        a.gold-on-hover:hover { color: var(--gold); }

        /* Selection */
        ::selection { background: var(--gold); color: var(--bg); }

        /* Focus ring */
        :focus-visible {
            outline: 2px solid var(--gold);
            outline-offset: 3px;
        }
        /* Skip-to-content link — visible only on keyboard focus */
        .skip-link {
            position: absolute;
            top: -100px;
            left: 1rem;
            z-index: 100;
            padding: 0.75rem 1.25rem;
            background: var(--bg);
            color: var(--gold);
            border: 1px solid var(--gold);
            font-family: var(--font-ui);
            font-size: 0.875rem;
            letter-spacing: 0.02em;
            text-decoration: none;
            transition: top 0.2s;
        }
        .skip-link:focus,
        .skip-link:focus-visible {
            top: 1rem;
        }
        /* Visually-hidden accessibility utility */
        .sr-only {
            position: absolute;
            width: 1px;
            height: 1px;
            padding: 0;
            margin: -1px;
            overflow: hidden;
            clip: rect(0, 0, 0, 0);
            white-space: nowrap;
            border: 0;
        }



        /* ─── Media-centering helpers (v8 patch — 19MAY2026 ~15:53h CT) ─── */
        .hero-media,
        .about-media {
            inline-size: 100%;
            display: grid;
            place-items: center;
        }
        .hero-book-image {
            display: block;
            inline-size: min(100%, 22rem);
            block-size: auto;
            margin-inline: auto;
        }
        .headshot-frame {
            width: 12rem;
            height: 12rem;
            border-radius: 9999px;
            overflow: hidden;
            border: 1px solid var(--border);
            background: var(--bg-lift);
            margin-inline: auto;
        }
        .headshot-frame img {
            width: 100%;
            height: 100%;
            display: block;
            object-fit: cover;
        }

        /* Mobile footer — stack items vertically below 640px */
        @media (max-width: 640px) {
            .footer-line .footer-sep { display: none; }
            .footer-line .footer-item { display: block; margin: 0.4rem 0; }
        }


        /* ─── Miahstone-style mobile menu (full-screen overlay) ─── */
        .mobile-menu-active { overflow: hidden; }

        .mobile-menu-overlay {
            position: fixed;
            inset: 0;
            background: var(--bg);
            z-index: 40;
            flex-direction: column;
            padding: 6rem 1.5rem 1.5rem;
            overflow-y: auto;
        }
        .mobile-menu-overlay:not(.hidden) { display: flex; }

        .mobile-link {
            font-family: var(--font-ui);
            font-size: 20px;
            font-weight: 600;
            color: var(--ink);
            border-bottom: 1px solid var(--border);
            padding: 1.25rem 0;
            text-decoration: none;
            transition: color 0.2s;
            display: block;
        }
        .mobile-link:hover { color: var(--gold); }
        .mobile-link:last-child { border-bottom: none; }


/* Production mobile navigation hardening — 20MAY2026v3 */
.mobile-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    border: 1px solid var(--border);
    border-radius: 9999px;
    color: var(--ink);
    background: rgba(12, 18, 32, 0.72);
    -webkit-tap-highlight-color: transparent;
}
.mobile-nav-toggle svg { display: block; width: 1.5rem; height: 1.5rem; }
.mobile-nav-toggle:hover,
.mobile-nav-toggle:focus-visible {
    color: var(--gold);
    border-color: var(--gold);
}
@media (max-width: 767.98px) {
    #header nav { display: none !important; }
    .mobile-nav-toggle { display: inline-flex !important; }
}
@media (min-width: 768px) {
    .mobile-nav-toggle { display: none !important; }
}

/* Production header/mobile navigation hardening — 20MAY2026v4
   Purpose: make the navigation shell visible and operable independent of Tailwind utility resolution. */
html {
    scroll-padding-top: calc(5.5rem + env(safe-area-inset-top, 0px));
}
body {
    overflow-x: hidden;
}
#header.site-header,
.site-header {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 2147483000 !important;
    min-height: calc(4.75rem + env(safe-area-inset-top, 0px));
    padding-top: env(safe-area-inset-top, 0px);
    background: rgba(7, 10, 17, 0.94) !important;
    border-bottom: 1px solid var(--border) !important;
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    transform: translateZ(0);
    -webkit-transform: translateZ(0);
}
.site-header__inner {
    width: min(100%, 1280px) !important;
    margin-inline: auto !important;
    padding: 1rem 1.5rem !important;
}
.site-header__row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 1rem !important;
    min-height: 2.75rem !important;
}
.site-nav,
.site-nav--desktop {
    align-items: center !important;
    gap: 2rem !important;
}
.site-menu-button,
.mobile-nav-toggle {
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    width: 2.875rem !important;
    height: 2.875rem !important;
    min-width: 2.875rem !important;
    min-height: 2.875rem !important;
    padding: 0 !important;
    border: 1px solid var(--border-strong) !important;
    border-radius: 9999px !important;
    color: var(--ink) !important;
    background: rgba(12, 18, 32, 0.92) !important;
    box-shadow: 0 0 0 1px rgba(7,10,17,.35), 0 12px 28px rgba(0,0,0,.35) !important;
    -webkit-tap-highlight-color: transparent;
}
.site-menu-button svg,
.mobile-nav-toggle svg {
    display: block !important;
    width: 1.5rem !important;
    height: 1.5rem !important;
    color: currentColor !important;
}
.site-menu-button:hover,
.site-menu-button:focus-visible,
.mobile-nav-toggle:hover,
.mobile-nav-toggle:focus-visible {
    color: var(--gold) !important;
    border-color: var(--gold) !important;
}
.site-mobile-menu,
.mobile-menu-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147482999 !important;
    background: rgba(7, 10, 17, 0.985) !important;
    padding: calc(5.75rem + env(safe-area-inset-top, 0px)) 1.5rem 2rem !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
}
.site-mobile-menu[hidden],
.mobile-menu-overlay[hidden],
.site-mobile-menu.hidden,
.mobile-menu-overlay.hidden {
    display: none !important;
}
.site-mobile-menu.is-open,
.mobile-menu-overlay.is-open {
    display: flex !important;
    flex-direction: column !important;
}
body.mobile-menu-active {
    overflow: hidden !important;
    touch-action: none;
}
@media (max-width: 767.98px) {
    #header.site-header .site-nav--desktop,
    #header.site-header nav.site-nav--desktop {
        display: none !important;
    }
    #header.site-header .site-menu-button,
    #header.site-header .mobile-nav-toggle {
        display: inline-flex !important;
    }
    .site-header__inner {
        padding-inline: 1rem !important;
    }
    .wordmark {
        max-width: calc(100vw - 6.75rem);
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
        font-size: clamp(0.95rem, 4.2vw, 1.125rem) !important;
        gap: 0.42em !important;
    }
    #home-hero {
        padding-top: calc(6.5rem + env(safe-area-inset-top, 0px)) !important;
    }
    main > article.pt-32 {
        padding-top: calc(6.75rem + env(safe-area-inset-top, 0px)) !important;
    }
}
@media (min-width: 768px) {
    #header.site-header .site-nav--desktop,
    #header.site-header nav.site-nav--desktop {
        display: flex !important;
    }
    #header.site-header .site-menu-button,
    #header.site-header .mobile-nav-toggle {
        display: none !important;
    }
    .site-mobile-menu,
    .mobile-menu-overlay {
        display: none !important;
    }
}


/* Production mobile navigation stabilization — 20MAY2026v5
   Fixes post-click disappearing hamburger by keeping the header controls above the mobile menu
   and using a CSS-driven hamburger/close icon instead of swapping SVG markup. */
#header.site-header {
    isolation: isolate !important;
    overflow: visible !important;
}
#header.site-header .site-header__inner,
#header.site-header .site-header__row {
    position: relative !important;
    z-index: 3 !important;
}
#header.site-header.mobile-menu-is-open {
    background: rgba(7, 10, 17, 0.995) !important;
    border-bottom-color: var(--border-strong) !important;
}
.site-menu-button,
.mobile-nav-toggle {
    position: relative !important;
    z-index: 4 !important;
    color: var(--ink) !important;
    opacity: 1 !important;
    visibility: visible !important;
}
.menu-icon {
    position: relative !important;
    display: block !important;
    width: 1.5rem !important;
    height: 1.125rem !important;
    pointer-events: none !important;
}
.menu-icon span {
    position: absolute !important;
    left: 0 !important;
    width: 100% !important;
    height: 2px !important;
    border-radius: 999px !important;
    background: currentColor !important;
    opacity: 1 !important;
    transform-origin: center !important;
    transition: transform 180ms ease, opacity 180ms ease, top 180ms ease !important;
}
.menu-icon span:nth-child(1) { top: 0 !important; }
.menu-icon span:nth-child(2) { top: calc(50% - 1px) !important; }
.menu-icon span:nth-child(3) { top: calc(100% - 2px) !important; }
.site-menu-button[aria-expanded="true"] .menu-icon span:nth-child(1),
.mobile-nav-toggle[aria-expanded="true"] .menu-icon span:nth-child(1) {
    top: calc(50% - 1px) !important;
    transform: rotate(45deg) !important;
}
.site-menu-button[aria-expanded="true"] .menu-icon span:nth-child(2),
.mobile-nav-toggle[aria-expanded="true"] .menu-icon span:nth-child(2) {
    opacity: 0 !important;
}
.site-menu-button[aria-expanded="true"] .menu-icon span:nth-child(3),
.mobile-nav-toggle[aria-expanded="true"] .menu-icon span:nth-child(3) {
    top: calc(50% - 1px) !important;
    transform: rotate(-45deg) !important;
}
.site-mobile-menu,
.mobile-menu-overlay {
    z-index: 2 !important;
    inset: calc(4.75rem + env(safe-area-inset-top, 0px)) 0 0 0 !important;
    top: calc(4.75rem + env(safe-area-inset-top, 0px)) !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    padding: 1.25rem 1.5rem 2rem !important;
    background: rgba(7, 10, 17, 0.992) !important;
    border-top: 1px solid var(--border) !important;
    box-shadow: 0 22px 50px rgba(0,0,0,.45) !important;
}
.site-mobile-menu[hidden],
.mobile-menu-overlay[hidden],
.site-mobile-menu.hidden,
.mobile-menu-overlay.hidden {
    display: none !important;
}
.site-mobile-menu.is-open,
.mobile-menu-overlay.is-open {
    display: flex !important;
    flex-direction: column !important;
}
.site-mobile-menu .mobile-link,
.mobile-menu-overlay .mobile-link {
    color: var(--ink) !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body.mobile-menu-active {
    overflow: hidden !important;
}
@media (max-width: 767.98px) {
    #header.site-header .site-nav--desktop,
    #header.site-header nav.site-nav--desktop {
        display: none !important;
    }
    #header.site-header .site-menu-button,
    #header.site-header .mobile-nav-toggle {
        display: inline-flex !important;
    }
}
@media (min-width: 768px) {
    #header.site-header .site-menu-button,
    #header.site-header .mobile-nav-toggle {
        display: none !important;
    }
    .site-mobile-menu,
    .mobile-menu-overlay {
        display: none !important;
    }
}


/* Production mobile-menu architecture fix — 20MAY2026v7
   The mobile menu is a body-level sibling of #header. This avoids the mobile Safari
   containing-block trap caused by transformed/filtered fixed headers. */
@media (max-width: 767.98px) {
    body.mobile-menu-active {
        overflow: hidden !important;
        touch-action: none;
    }

    body > #mobile-menu.site-mobile-menu,
    body > #mobile-menu.mobile-menu-overlay {
        position: fixed !important;
        top: calc(4.75rem + env(safe-area-inset-top, 0px)) !important;
        right: 0 !important;
        bottom: auto !important;
        left: 0 !important;
        width: 100vw !important;
        min-height: calc(100vh - 4.75rem - env(safe-area-inset-top, 0px)) !important;
        min-height: calc(100dvh - 4.75rem - env(safe-area-inset-top, 0px)) !important;
        z-index: 2147482990 !important;
        display: none !important;
        flex-direction: column !important;
        padding: 1.25rem 1.5rem max(2rem, env(safe-area-inset-bottom, 0px)) !important;
        background: rgba(7, 10, 17, 0.992) !important;
        border-top: 1px solid var(--border) !important;
        box-shadow: 0 22px 50px rgba(0,0,0,.45) !important;
        overflow-y: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body > #mobile-menu.site-mobile-menu.is-open:not([hidden]),
    body > #mobile-menu.mobile-menu-overlay.is-open:not([hidden]) {
        display: flex !important;
    }

    body > #mobile-menu .mobile-link {
        display: block !important;
        width: 100% !important;
        min-height: 3.25rem !important;
        padding: 1.05rem 0 !important;
        color: var(--ink) !important;
        opacity: 1 !important;
        visibility: visible !important;
        border-bottom: 1px solid var(--border) !important;
        text-decoration: none !important;
        text-transform: uppercase !important;
        letter-spacing: 0.14em !important;
        font-family: var(--font-ui) !important;
        font-size: 0.875rem !important;
        line-height: 1.35 !important;
    }

    body > #mobile-menu .mobile-link:hover,
    body > #mobile-menu .mobile-link:focus-visible {
        color: var(--gold) !important;
        outline: none !important;
    }
}

@media (min-width: 768px) {
    body > #mobile-menu.site-mobile-menu,
    body > #mobile-menu.mobile-menu-overlay {
        display: none !important;
    }
}
