/* Open neon typography: let the city backdrop show through the navigation. */
.home-page .site-title { animation: flicker 3s infinite alternate; text-shadow: var(--glow-cyan); }
.home-page .binary-title-overlay { opacity: .35; }
.home-page #ghost-score[hidden] { display: none; }
.home-page .main-nav { max-width: 900px; margin: 36px auto 0; }
.home-page .menu-caption, .home-page .menu-description, .home-page .menu-arrow { display: none; }
.home-page .main-nav .nav-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 32px; }
.home-page .gallery-menu-link {
    --link-neon: #00ffff;
    display: flex; justify-content: center; align-items: center; gap: 12px; width: 100%; min-height: 58px;
    padding: 12px 8px 16px; margin: 0; border: 0; background: none; box-shadow: none;
    color: #eaffff; text-align: center; text-shadow: 1px 1px 0 #00dfff55, -1px -1px 0 #ff00b833;
    letter-spacing: normal; overflow: visible; animation: none;
    transition: color .2s, text-shadow .2s, transform .2s;
}
.home-page .nav-list li:nth-child(even) .gallery-menu-link { --link-neon: #ff6ec7; }
.home-page .menu-icon { display: block; width: 18px; height: 18px; flex: 0 0 18px; fill: var(--link-neon); shape-rendering: crispEdges; filter: drop-shadow(0 0 2px var(--link-neon)); opacity: .8; transition: transform .2s, opacity .2s; }
.home-page .menu-copy { display: block; position: relative; }
.home-page .menu-name { display: inline-block; font: .95rem/1.5 var(--font-accent); text-transform: uppercase; letter-spacing: .1em; background: linear-gradient(110deg, #e8f9ff 10%, #c1e9ee 55%, #e6cbe3 100%); background-clip: text; -webkit-background-clip: text; -webkit-text-fill-color: transparent; text-shadow: none; }
.home-page .gallery-menu-link::before {
    content: '✦'; position: absolute; left: 0; top: 50%; width: auto; height: auto;
    color: var(--link-neon); font: 1.1rem 'VCR', monospace; opacity: 0; background: none;
    transform: translate(-5px, -60%); clip-path: none; filter: none; animation: none;
    transition: opacity .2s, transform .2s; text-shadow: 0 0 10px #00ffff;
}
.home-page .gallery-menu-link::after {
    content: ''; position: absolute; top: auto; bottom: 3px; left: 50%; width: 70px; height: 1px;
    background: linear-gradient(90deg, transparent, #00ffff 25%, #fff 50%, #ff00d4 75%, transparent);
    opacity: .4; transform: translateX(-50%); clip-path: none; filter: none; animation: none;
    transition: width .25s, opacity .25s; box-shadow: 0 0 5px #00ffff35;
}
.home-page .gallery-menu-link:hover, .home-page .gallery-menu-link:focus-visible {
    color: #00ffff; text-shadow: 2px 0 0 #ff00d480, 0 0 12px #00ffff80;
    transform: translateY(-2px); background: none; border: 0; box-shadow: none; animation: none; outline: none;
}
.home-page .gallery-menu-link:is(:hover, :focus-visible)::before { opacity: 1; transform: translate(0, -60%); animation: none; }
.home-page .gallery-menu-link:is(:hover, :focus-visible)::after { width: 90%; opacity: 1; background-size: 200% 100%; animation: neon-menu-trail .7s ease-out; }
.home-page .gallery-menu-link:is(:hover, :focus-visible) .menu-name { -webkit-text-fill-color: #fff; text-shadow: 2px 0 #ff00d4, -2px 0 #00ffff, 0 0 14px var(--link-neon); animation: neon-menu-lock .3s steps(2, end); }
.home-page .gallery-menu-link:is(:hover, :focus-visible) .menu-icon { transform: translateY(-2px) scale(1.18); opacity: 1; }
@keyframes neon-menu-trail { from { background-position: 200% 0; } to { background-position: 0 0; } }
@keyframes neon-menu-lock { 25% { transform: translateX(-2px); opacity: .8; } 50% { transform: translateX(2px); } 75% { transform: translateX(-1px); } }
.home-page .gallery-menu-link:active { transform: translateY(1px); color: #ff6ec7; }
.home-page .home-booking-cta {
    display: inline-flex; justify-content: center; align-items: center; gap: 16px; margin-top: 36px;
    padding: 16px 18px; border: 0; background: radial-gradient(ellipse, #ff00d418, transparent 72%); box-shadow: none; color: #fff0fc;
    font: .9rem/1.5 var(--font-accent); letter-spacing: .1em; text-shadow: 0 0 8px #ff00d466;
    overflow: visible; transition: color .2s, text-shadow .2s, transform .2s;
}
.home-page .home-booking-cta svg { display: none; }
.home-page .home-booking-cta::before { content: '▸'; position: absolute; left: -10px; top: 50%; transform: translateY(-50%); color: #ff6ec7; text-shadow: 0 0 12px #ff00d4; font: 1.3rem 'VCR', monospace; animation: neon-booking-beacon 2.8s ease-in-out infinite; }
@keyframes neon-booking-beacon { 0%, 100% { opacity: .55; } 50% { opacity: 1; text-shadow: 0 0 16px #ff00d4, 0 0 6px #ff6ec7; } }
.home-page .home-booking-cta::after {
    content: ''; position: absolute; left: 0; top: auto; bottom: 0; width: 100%; height: 1px;
    background: linear-gradient(90deg, transparent, #ff6ec7 25%, #ff6ec7 75%, transparent);
    transform: none; animation: none; box-shadow: 0 0 12px #ff00d4aa, 0 3px 14px #ff00d455; opacity: .9;
}
.home-page .cta-arrow { font: 1.5rem 'VCR', monospace; color: #ff6ec7; transition: transform .2s; }
.home-page .home-booking-cta:hover, .home-page .home-booking-cta:focus-visible {
    color: #ff91d5; background: none; box-shadow: none; text-shadow: 0 0 12px #ff00d480;
    transform: translateY(-2px); outline: none;
}
.home-page .home-booking-cta:is(:hover, :focus-visible) .cta-arrow { transform: translateX(5px); }
.home-page .home-booking-cta:active { transform: translateY(1px); }
@media (max-width: 760px) {
    .home-page .main-nav { margin-top: 28px; }
    .home-page .main-nav .nav-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px 16px; }
    .home-page .gallery-menu-link { min-height: 54px; padding: 12px 2px 16px; gap: 7px; }
    .home-page .menu-icon { width: 13px; height: 13px; flex-basis: 13px; }
    .home-page .menu-name { font-size: clamp(.52rem, 2.25vw, .72rem); letter-spacing: .02em; }
    .home-page .gallery-menu-link::after { width: 75px; }
    .home-page .gallery-menu-link::before { left: -5px; font-size: 1.2rem; }
    .home-page .home-booking-cta { margin-top: 28px; font-size: .72rem; gap: 10px; max-width: 100%; }
}
@media (max-width: 360px) {
    .home-page .main-nav .menu-icon { display: none; }
    .home-page .main-nav .gallery-menu-link { gap: 0; }
}
