/* Only the approved revolving menu. Links themselves move; no second panel. */
.homepage-menu { position: relative; z-index: 3; background: #0a0a0a; border-block: 1px solid #2a2a2a; overflow: hidden; }
.homepage-menu-heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 16px clamp(20px,4vw,44px); border-bottom: 1px solid #2a2a2a; }
.homepage-menu-heading h2 {  color: #c5c7c3;   margin: 0; }
.homepage-menu-pause { flex-shrink: 0; border: 1px solid #72766f; background: #111; color: #f0f0f0;  min-height: 44px; padding: 10px 14px; border-radius: 0; cursor: pointer; }
.homepage-menu [hidden] { display: none !important; }
.homepage-menu-viewport { overflow: hidden; padding: 48px 0; }
.homepage-menu-mouse { width: max-content; }
.homepage-menu-track { display: flex; width: max-content; }
.homepage-menu-group { display: flex; flex-wrap: wrap; gap: 56px; padding: 0 28px; flex-shrink: 0; max-width: 100vw; }
.homepage-menu-running .homepage-menu-group { flex-wrap: nowrap; max-width: none; }
.homepage-menu-running .homepage-menu-track, .homepage-menu-running .homepage-menu-mouse { will-change: transform; }
.homepage-menu-clone { display: none; }
.homepage-menu-running .homepage-menu-clone { display: flex; }
.homepage-menu-link { position: relative; z-index: 1; display: inline-flex; align-items: center; gap: 0; padding: .15em .1em; min-height: 48px;    white-space: nowrap; color: #c5c7c3; background: transparent; border: 0; border-radius: 0; text-decoration: none; opacity: 1; cursor: pointer; transform-origin: center; transform: scale(var(--menu-scale,1)); transition: transform 220ms var(--ease-out), background 220ms var(--ease-out), box-shadow 220ms var(--ease-out), text-shadow 220ms var(--ease-out), opacity 220ms var(--ease-out); }

.homepage-menu:not(.homepage-menu-running) .homepage-menu-link {  white-space: normal; max-width: 100%; }
.homepage-menu-link { text-transform: uppercase; letter-spacing: -.045em; font-variation-settings: 'wght' 500, 'opsz' 32; }
.homepage-menu-link > span:first-child { display: inline-block; text-align: right; opacity: .64; font-variation-settings: 'wght' 400, 'opsz' 32; transition: font-variation-settings 220ms var(--ease-out), opacity 220ms var(--ease-out); }
.homepage-menu-link:focus-visible, .homepage-menu-link.is-hovered { z-index: 2; transform: scale(1.2); color: #f0f0f0; background: transparent; opacity: 1; text-shadow: 0 0 8px rgb(255 255 255 / .65), 0 0 24px rgb(240 240 240 / .45); box-shadow: none; }
.homepage-menu-link:focus-visible { outline: 2px solid #f0f0f0; outline-offset: 4px; }
.homepage-menu-link:is(:focus-visible,.is-hovered) > span:first-child { opacity: 1; font-variation-settings: 'wght' 650, 'opsz' 72; }
:is(.homepage-menu,.home-services) .homepage-menu-arrow { display: inline-block; flex: 0 0 auto; font-family: 'Noto Sans Mono', monospace; font-size: 1.15em; font-weight: 400; font-variation-settings: 'wght' 400; letter-spacing: 0; line-height: 1; color: inherit; opacity: .8; visibility: visible; transition: opacity 220ms var(--ease-out); }
.homepage-menu-link:is(:focus-visible,.is-hovered) .homepage-menu-arrow { opacity: 1; }
.homepage-menu-pause:focus-visible { outline: 2px solid #f0f0f0; outline-offset: 4px; }
@media (any-hover: hover) { .homepage-menu-link:hover { z-index: 2; transform: scale(1.2); color: #f0f0f0; background: transparent; opacity: 1; text-shadow: 0 0 8px rgb(255 255 255 / .65), 0 0 24px rgb(240 240 240 / .45); box-shadow: none; } .homepage-menu-link:hover > span:first-child { opacity: 1; font-variation-settings: 'wght' 650, 'opsz' 72; } .homepage-menu-link:hover .homepage-menu-arrow { opacity: 1; } }
@media (max-width: 600px) { .homepage-menu-heading { flex-wrap: wrap; } .homepage-menu-group { gap: 40px; padding-inline: 20px; } }
@media (prefers-reduced-motion: reduce) { .homepage-menu-link, .homepage-menu-link > span:first-child, :is(.homepage-menu,.home-services) .homepage-menu-arrow { transition: none; } .homepage-menu-link:hover, .homepage-menu-link.is-hovered, .homepage-menu-link:focus-visible { transform: none; } .homepage-menu-pause { display: none; } }
@media (forced-colors: active) { .homepage-menu-link, .homepage-menu-pause { border-color: ButtonText; opacity: 1; text-shadow: none; } .homepage-menu-link:focus-visible, .homepage-menu-pause:focus-visible { outline-color: Highlight; } }

.homepage-menu-viewport { touch-action: pan-y; user-select: none; }
.homepage-menu.dragging .homepage-menu-link { cursor: grabbing; }
