:root{--nx-nav-bg:var(--nx-bg, #060b18);--nx-nav-surface:var(--nx-panel, #0b1329);--nx-nav-raised:var(--nx-panel-soft, #101b35);--nx-nav-text:var(--nx-text, #fff);--nx-nav-soft:var(--nx-text-soft, #c2cedb);--nx-nav-muted:var(--nx-text-soft, #8899ad);--nx-nav-green:var(--nx-emerald, #06d6a0);--nx-nav-cyan:var(--nx-cyan, #22d3ee);--nx-nav-border:var(--nx-border, rgba(194,206,219,.15));--nx-nav-glass-border:color-mix(in srgb, var(--nx-text, #fff) 20%, transparent);--nx-nav-glass:color-mix(in srgb, var(--nx-panel, #0b1329) 72%, transparent);--nx-nav-glass-solid:color-mix(in srgb, var(--nx-panel, #0b1329) 94%, transparent);--nx-nav-gradient:linear-gradient(135deg,var(--nx-emerald, #06d6a0),var(--nx-cyan, #22d3ee))}
.nxtorigin-nav-shell,.nxtorigin-nav-shell *{box-sizing:border-box}.nxtorigin-nav-shell{position:relative;z-index:9999;width:min(1320px,calc(100% - 24px));margin:8px auto 0;border:1px solid var(--nx-nav-glass-border);border-radius:18px;background:radial-gradient(circle at 12% -80%,color-mix(in srgb, var(--nx-cyan, #22d3ee) 12%, transparent),transparent 34%),radial-gradient(circle at 88% 160%,color-mix(in srgb, var(--nx-emerald, #06d6a0) 8%, transparent),transparent 34%),var(--nx-bg, #0a1128);box-shadow:0 26px 60px rgba(0,0,0,.44),0 8px 18px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.1),inset 1px 0 0 rgba(255,255,255,.04),inset 0 -1px 0 rgba(0,0,0,.38);color:var(--nx-nav-text);font-family:var(--nx-font-family,"Outfit",Inter,system-ui,sans-serif);perspective:1200px}.nxtorigin-nav-inner{min-height:68px;padding:0 22px;display:flex;align-items:center;gap:22px}.nxtorigin-nav-logo{display:flex;width:200px;flex:0 0 200px;filter:drop-shadow(0 7px 14px rgba(0,0,0,.3))}.nxtorigin-nav-logo img{display:block;width:100%;height:auto}.nxtorigin-nav-links{display:flex;align-items:center;justify-content:center;gap:2px;min-width:0;flex:1}.nxtorigin-nav-link,.nxtorigin-nav-trigger{min-height:42px;padding:9px 10px;display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--nx-nav-soft);font:inherit;font-size:12px;font-weight:700;text-decoration:none;white-space:nowrap;cursor:pointer;transition:.2s}.nxtorigin-nav-link:hover,.nxtorigin-nav-link:focus-visible,.nxtorigin-nav-item.is-open>.nxtorigin-nav-trigger{border-color:color-mix(in srgb, var(--nx-text, #fff) 10%, transparent);background:linear-gradient(145deg,color-mix(in srgb, var(--nx-text, #fff) 11%, transparent),color-mix(in srgb, var(--nx-text, #fff) 3.5%, transparent));color:var(--nx-nav-text);transform:translateY(-1px);box-shadow:0 8px 18px rgba(0,0,0,.18),inset 0 1px rgba(255,255,255,.12)}.nxtorigin-nav-link.is-home{color:var(--nx-nav-green)}.nxtorigin-nav-trigger svg{width:13px;fill:none;stroke:currentColor;stroke-width:2.5;transition:transform .2s}.nxtorigin-nav-item{position:relative}.nxtorigin-nav-item.is-open>.nxtorigin-nav-trigger svg{transform:rotate(180deg)}
.nxtorigin-mega-menu{position:absolute;top:calc(100% + 13px);left:50%;width:min(900px,calc(100vw - 34px));padding:16px;visibility:hidden;opacity:0;transform:translate(-50%,10px) rotateX(-3deg);transform-origin:top;transition:opacity .2s,transform .2s,visibility .2s;border:1px solid var(--nx-nav-glass-border);border-radius:18px;background:radial-gradient(circle at 90% 0,color-mix(in srgb, var(--nx-cyan, #22d3ee) 12%, transparent),transparent 30%),var(--nx-nav-glass-solid);-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%);box-shadow:0 34px 75px rgba(0,0,0,.55),0 8px 20px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.18),inset 0 -1px rgba(0,0,0,.28)}.nxtorigin-nav-item:nth-last-child(-n+2) .nxtorigin-mega-menu{left:auto;right:0;transform:translateY(10px) rotateX(-3deg)}.nxtorigin-nav-item:hover>.nxtorigin-mega-menu,.nxtorigin-nav-item:focus-within>.nxtorigin-mega-menu,.nxtorigin-nav-item.is-open>.nxtorigin-mega-menu{visibility:visible;opacity:1;transform:translate(-50%,0) rotateX(0)}.nxtorigin-nav-item:nth-last-child(-n+2):hover>.nxtorigin-mega-menu,.nxtorigin-nav-item:nth-last-child(-n+2):focus-within>.nxtorigin-mega-menu,.nxtorigin-nav-item:nth-last-child(-n+2).is-open>.nxtorigin-mega-menu{transform:translateY(0) rotateX(0)}.nxtorigin-mega-label{margin:0 0 10px;color:var(--nx-nav-green);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.nxtorigin-mega-layout{display:grid;grid-template-columns:minmax(0,1fr) 240px;gap:15px}.nxtorigin-mega-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.nxtorigin-mega-item{min-height:50px;padding:8px 10px;display:flex;align-items:center;gap:10px;border:1px solid color-mix(in srgb, var(--nx-text, #fff) 4.5%, transparent);border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb, var(--nx-text, #fff) 4.5%, transparent),color-mix(in srgb, var(--nx-text, #fff) 1.2%, transparent));color:var(--nx-nav-soft);font-size:12px;font-weight:700;text-decoration:none;transition:.22s;box-shadow:inset 0 1px rgba(255,255,255,.035)}.nxtorigin-mega-item:hover,.nxtorigin-mega-item:focus-visible{transform:translateY(-2px) translateZ(10px);border-color:color-mix(in srgb, var(--nx-emerald, #06d6a0) 28%, transparent);background:linear-gradient(145deg,color-mix(in srgb, var(--nx-emerald, #06d6a0) 13%, transparent),color-mix(in srgb, var(--nx-cyan, #22d3ee) 5.5%, transparent));color:var(--nx-text, #fff);box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.12)}.nxtorigin-mega-icon{display:block;width:34px;height:34px;flex:0 0 34px;border-radius:10px;background-color:var(--nx-icon-color,var(--nx-nav-green));-webkit-mask:var(--nx-nav-icon) center/21px no-repeat;mask:var(--nx-nav-icon) center/21px no-repeat;transition:.22s;filter:drop-shadow(0 5px 8px rgba(0,0,0,.22))}.nxtorigin-mega-item:hover .nxtorigin-mega-icon{transform:translateZ(16px) rotateY(-6deg) scale(1.08);filter:drop-shadow(0 8px 8px rgba(0,0,0,.3))}.nxtorigin-mega-promo{min-height:100%;padding:19px;border:1px solid color-mix(in srgb, var(--nx-text, #fff) 13%, transparent);border-radius:14px;background:radial-gradient(circle at 80% 15%,color-mix(in srgb, var(--nx-cyan, #22d3ee) 17%, transparent),transparent 38%),linear-gradient(145deg,color-mix(in srgb, var(--nx-panel-soft, #101b35) 82%, transparent),color-mix(in srgb, var(--nx-bg, #08101f) 76%, transparent));box-shadow:0 14px 30px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.13)}.nxtorigin-mega-promo-symbol{display:grid;place-items:center;width:52px;height:52px;margin-bottom:22px;border-radius:15px;background:var(--nx-nav-gradient);color:var(--nx-btn-text, #03131a);font-size:24px;font-weight:900;box-shadow:0 12px 26px rgba(6,214,160,.2),inset 0 1px rgba(255,255,255,.4)}.nxtorigin-mega-eyebrow{display:block;margin-bottom:5px;color:var(--nx-nav-green);font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.nxtorigin-mega-promo strong{display:block;color:var(--nx-text, #fff);font-size:16px;line-height:1.3}.nxtorigin-mega-promo p{margin:8px 0 0;color:var(--nx-nav-muted);font-size:11px;line-height:1.6}
.nxtorigin-nav-actions{display:flex;align-items:center;gap:7px;flex:none}.nxtorigin-nav-account{min-width:72px}.nxtorigin-nav-account .nxAdminAccountMenu{max-width:180px}.nxtorigin-nav-login{padding:10px;color:var(--nx-nav-soft);font-size:12px;font-weight:700;text-decoration:none}.nxtorigin-nav-login:hover{color:var(--nx-text, #fff)}.nxtorigin-nav-cta{min-height:42px;padding:9px 16px;display:inline-flex;align-items:center;gap:7px;border:1px solid color-mix(in srgb, var(--nx-text, #fff) 34%, transparent);border-radius:999px;background:var(--nx-nav-gradient);color:var(--nx-btn-text, #03131a);font-size:12px;font-weight:800;text-decoration:none;box-shadow:0 12px 25px rgba(6,214,160,.24),inset 0 1px rgba(255,255,255,.48),inset 0 -1px rgba(0,0,0,.14);transition:.2s}.nxtorigin-nav-cta:hover{transform:translateY(-2px);box-shadow:0 16px 32px rgba(6,214,160,.32),inset 0 1px rgba(255,255,255,.54)}.nxtorigin-nav-toggle{display:none;width:42px;height:42px;padding:8px;border:1px solid color-mix(in srgb, var(--nx-text, #fff) 18%, transparent);border-radius:11px;background:linear-gradient(145deg,color-mix(in srgb, var(--nx-text, #fff) 9%, transparent),color-mix(in srgb, var(--nx-text, #fff) 2.5%, transparent));box-shadow:inset 0 1px rgba(255,255,255,.1);cursor:pointer}.nxtorigin-nav-toggle>span:not(.screen-reader-text){display:block;width:19px;height:2px;margin:4px auto;background:var(--nx-panel, #fff)}.nxtorigin-nav-shell :is(a,button):focus-visible{outline:2px solid var(--nx-nav-cyan);outline-offset:3px}.screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1100px){.nxtorigin-nav-inner{gap:13px;padding-inline:15px}.nxtorigin-nav-logo{width:176px;flex-basis:176px}.nxtorigin-nav-link,.nxtorigin-nav-trigger{padding-inline:7px;font-size:11px}.nxtorigin-nav-cta{padding-inline:13px}}
@media(max-width:850px){.nxtorigin-nav-shell{width:calc(100% - 14px);margin-top:6px;border-radius:14px}.nxtorigin-nav-inner{min-height:62px;padding:8px 12px;justify-content:space-between}.nxtorigin-nav-logo{width:166px;flex-basis:166px}.nxtorigin-nav-toggle{display:block;order:3}.nxtorigin-nav-actions{margin-left:auto}.nxtorigin-nav-login{display:none}.nxtorigin-nav-links{position:absolute;top:calc(100% + 9px);left:0;right:0;display:none;max-height:calc(100vh - 85px);padding:10px;overflow-y:auto;border:1px solid var(--nx-nav-glass-border);border-radius:14px;background:var(--nx-nav-glass-solid);-webkit-backdrop-filter:blur(28px) saturate(145%);backdrop-filter:blur(28px) saturate(145%);box-shadow:0 28px 58px rgba(0,0,0,.52),inset 0 1px rgba(255,255,255,.16)}.nxtorigin-nav-shell.is-mobile-open .nxtorigin-nav-links{display:block}.nxtorigin-nav-link,.nxtorigin-nav-trigger{width:100%;justify-content:space-between;padding:11px}.nxtorigin-nav-item{position:static}.nxtorigin-mega-menu,.nxtorigin-nav-item:nth-last-child(-n+2) .nxtorigin-mega-menu{position:static;width:100%;display:none;margin:3px 0 8px;padding:10px;visibility:visible;opacity:1;transform:none!important;border-radius:12px;box-shadow:inset 0 1px rgba(255,255,255,.09)}.nxtorigin-nav-item.is-open>.nxtorigin-mega-menu{display:block}.nxtorigin-nav-item:hover:not(.is-open)>.nxtorigin-mega-menu{display:none}.nxtorigin-mega-layout{grid-template-columns:1fr}.nxtorigin-mega-grid{grid-template-columns:1fr}.nxtorigin-mega-promo{display:none}.nxtorigin-mega-item{min-height:47px}.nxtorigin-nav-cta{min-height:40px}}
@media(max-width:520px){.nxtorigin-nav-cta{display:none}.nxtorigin-nav-account .nxAdminAccountMenu{max-width:125px}.nxtorigin-nav-logo{width:166px;flex-basis:166px}}
@media(prefers-reduced-motion:reduce){.nxtorigin-nav-shell *{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* Premium depth while preserving the approved NxtOrigin palette exactly. */
.nxtorigin-nav-shell{border-color:var(--nx-nav-border);background:radial-gradient(circle at 12% -80%,color-mix(in srgb, var(--nx-cyan, #22d3ee) 10%, transparent),transparent 34%),radial-gradient(circle at 88% 160%,color-mix(in srgb, var(--nx-emerald, #06d6a0) 6%, transparent),transparent 34%),var(--nx-bg, #0a1128);box-shadow:0 24px 55px rgba(0,0,0,.44),0 7px 0 rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.07),inset 0 -1px rgba(0,0,0,.3)}
/* The shell sets perspective:1200px, so every link hover (transform:translateY)
   re-rasterises the whole 3D context and anything inside it can shimmer. Giving
   the logo its own compositing layer takes it out of that repaint. translateZ(0)
   is a no-op geometrically; it exists only to promote the layer. */
.nxtorigin-nav-logo{filter:none;transform:translateZ(0);backface-visibility:hidden}
.nxtorigin-nav-link,.nxtorigin-nav-trigger{border:0}
.nxtorigin-nav-link:hover,.nxtorigin-nav-link:focus-visible,.nxtorigin-nav-item.is-open>.nxtorigin-nav-trigger{background:color-mix(in srgb, var(--nx-text, #fff) 6%, transparent);box-shadow:0 8px 18px rgba(0,0,0,.18)}
.nxtorigin-mega-menu{border-color:var(--nx-nav-border);background:var(--nx-panel, #0b1329);box-shadow:0 34px 70px rgba(0,0,0,.52),0 6px 0 rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.05)}
.nxtorigin-mega-item{border-color:transparent;background:color-mix(in srgb, var(--nx-text, #fff) 1.8%, transparent);box-shadow:none}
.nxtorigin-mega-item:hover,.nxtorigin-mega-item:focus-visible{border-color:color-mix(in srgb, var(--nx-emerald, #06d6a0) 22%, transparent);background:color-mix(in srgb, var(--nx-emerald, #06d6a0) 7.5%, transparent);box-shadow:0 12px 24px rgba(0,0,0,.28),inset 0 1px rgba(255,255,255,.04)}
.nxtorigin-mega-icon{filter:none}
.nxtorigin-mega-promo{border-color:var(--nx-nav-border);background:radial-gradient(circle at 80% 15%,color-mix(in srgb, var(--nx-cyan, #22d3ee) 13%, transparent),transparent 38%),linear-gradient(145deg,var(--nx-panel, #101b35),var(--nx-panel, #08101f));box-shadow:0 14px 30px rgba(0,0,0,.2),inset 0 1px rgba(255,255,255,.04)}
.nxtorigin-mega-promo-symbol{box-shadow:0 12px 26px rgba(6,214,160,.2)}
.nxtorigin-nav-cta{border:0;box-shadow:0 12px 25px rgba(6,214,160,.24),inset 0 1px rgba(255,255,255,.25)}
.nxtorigin-nav-cta:hover{box-shadow:0 16px 32px rgba(6,214,160,.32)}
.nxtorigin-nav-toggle{border-color:var(--nx-nav-border);background:color-mix(in srgb, var(--nx-text, #fff) 3%, transparent);box-shadow:inset 0 1px rgba(255,255,255,.06)}
@media(max-width:850px){.nxtorigin-nav-links{border-color:var(--nx-nav-border);background:var(--nx-panel, #0b1329);box-shadow:0 26px 52px rgba(0,0,0,.5),inset 0 1px rgba(255,255,255,.05)}.nxtorigin-mega-menu,.nxtorigin-nav-item:nth-last-child(-n+2) .nxtorigin-mega-menu{box-shadow:inset 0 1px rgba(255,255,255,.04)}}

/* Liquid Glass 3D Effect (Borderless & Chiseled Depth) */
.nxtorigin-nav-shell {
    isolation: isolate;
    position: relative;
    width: min(1320px, calc(100% - 32px));
    margin: 12px auto 0;
    border: 1px solid var(--nx-border, #101b35);
    border-radius: 18px;
    background: radial-gradient(circle at 12% -80%, color-mix(in srgb, var(--nx-cyan, #22d3ee) 12%, transparent), transparent 34%),
                radial-gradient(circle at 88% 160%, color-mix(in srgb, var(--nx-emerald, #06d6a0) 8%, transparent), transparent 34%),
                var(--nx-bg, #0a1128);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
    backdrop-filter: blur(28px) saturate(145%);
    box-shadow: 0 4px 0 var(--nx-bg, #030711),
                0 12px 0 rgba(0, 0, 0, 0.25),
                0 28px 65px rgba(0, 0, 0, 0.55),
                inset 0 1px 0 rgba(194, 206, 219, 0.08),
                inset 0 -3px 0 var(--nx-bg, #030711);
	font-family: var(--nx-font-family, "Outfit", Inter, system-ui, sans-serif);
    transform: perspective(1200px) rotateX(0) translateY(0);
    transform-style: preserve-3d;
    transition: background 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                border-color 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                box-shadow 0.35s cubic-bezier(0.4, 0, 0.2, 1),
                transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.nxtorigin-nav-shell::before {
    content: none;
    position: absolute;
    z-index: 0;
    inset: 0;
    border-radius: inherit;
    background: linear-gradient(105deg, transparent 20%, color-mix(in srgb, var(--nx-cyan, #22d3ee) 3%, transparent) 40%, color-mix(in srgb, var(--nx-emerald, #06d6a0) 6%, transparent) 50%, color-mix(in srgb, var(--nx-cyan, #22d3ee) 3%, transparent) 60%, transparent 80%);
    background-size: 250% 100%;
    background-position: 140% 0;
    animation: nxtoriginNavSweep 8s ease-in-out infinite;
    pointer-events: none;
}

.nxtorigin-nav-shell::after {
    content: "";
    position: absolute;
    z-index: -1;
    right: 5%;
    bottom: -14px;
    left: 5%;
    height: 20px;
    border-radius: 9999px;
    background: color-mix(in srgb, var(--nx-bg, #000) 45%, transparent);
    filter: blur(20px);
    pointer-events: none;
}

.nxtorigin-nav-shell:hover {
    border-color: var(--nx-border, #162447);
    transform: perspective(1200px) rotateX(-0.6deg) translateY(-2px);
    box-shadow: 0 5px 0 var(--nx-bg, #030711),
                0 16px 0 rgba(0, 0, 0, 0.25),
                0 34px 75px rgba(0, 0, 0, 0.6),
                inset 0 1px 0 rgba(194, 206, 219, 0.12),
                inset 0 -3px 0 var(--nx-bg, #030711);
}

.nxtorigin-nav-inner {
    position: relative;
    z-index: 1;
    height: 64px;
    min-height: 64px;
    padding: 0 28px;
    gap: 20px;
}

/* Navigation-owned link floor. The theme reset is allowed to keep owning
   marketing content outside this shell. Within it, an unpainted link consumes
   the shared semantic aliases; component selectors below retain their own
   normal and interaction colors. Visited links intentionally stay normal. */
.nxtorigin-nav-shell :where(a) {
	color: var(--nx-link, var(--nx-cyan, #22d3ee));
}

.nxtorigin-nav-shell :where(a):is(:hover, :focus-visible, :active) {
	color: var(--nx-link-hover, var(--nx-text, #f8fafc));
}

.nxtorigin-nav-shell .nxtorigin-nav-link,
.nxtorigin-nav-shell .nxtorigin-nav-trigger {
    padding: 8px 14px;
    border: 0;
    border-radius: 8px;
	background: transparent;
	color: var(--nx-nav-soft);
	font-size: var(--nx-type-control, 14px);
	font-weight: 500;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.nxtorigin-nav-shell .nxtorigin-nav-link:hover,
.nxtorigin-nav-shell .nxtorigin-nav-link:focus-visible,
.nxtorigin-nav-shell .nxtorigin-nav-item.is-open > .nxtorigin-nav-trigger {
    border: 0;
    background: color-mix(in srgb, var(--nx-panel-soft, #101b35) 60%, transparent);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    color: var(--nx-nav-text);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3),
                inset 0 1px 0 rgba(194, 206, 219, 0.08);
    transform: translateY(-1px);
}

.nxtorigin-mega-menu {
    top: calc(100% + 12px);
    padding: 24px;
    border: 1px solid var(--nx-border, #101b35);
    border-radius: 16px;
    background: radial-gradient(circle at 90% 0, color-mix(in srgb, var(--nx-cyan, #22d3ee) 12%, transparent), transparent 30%),
                var(--nx-panel, #0b1329);
    -webkit-backdrop-filter: blur(28px) saturate(145%);
    backdrop-filter: blur(28px) saturate(145%);
    box-shadow: 0 4px 0 var(--nx-bg, #030711),
                0 10px 0 rgba(0, 0, 0, 0.25),
                0 36px 80px rgba(0, 0, 0, 0.6),
                inset 0 1px 0 rgba(194, 206, 219, 0.08),
                inset 0 -3px 0 var(--nx-bg, #030711);
    transform: translate(-50%, 14px) rotateX(-8deg) scale(0.98);
    transform-style: preserve-3d;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nxtorigin-nav-item:hover > .nxtorigin-mega-menu,
.nxtorigin-nav-item:focus-within > .nxtorigin-mega-menu,
.nxtorigin-nav-item.is-open > .nxtorigin-mega-menu {
    transform: translate(-50%, 0) rotateX(0) scale(1);
}

.nxtorigin-mega-item {
    padding: 10px 12px;
    border: 0;
    border-radius: 12px;
    background: color-mix(in srgb, var(--nx-panel-soft, #101b35) 35%, transparent);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    color: var(--nx-nav-soft);
    font-size: var(--nx-type-control, 14px);
    font-weight: 700;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: inset 0 1px 0 rgba(194, 206, 219, 0.04);
}

.nxtorigin-mega-label,
.nxtorigin-mega-eyebrow {
	font-size: var(--nx-type-eyebrow, 11px);
}

.nxtorigin-mega-promo p {
	font-size: var(--nx-type-supporting, 12px);
}

.nxtorigin-mega-item:hover,
.nxtorigin-mega-item:focus-visible {
    border: 0;
    background: color-mix(in srgb, var(--nx-emerald, #06d6a0) 10%, transparent);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    color: var(--nx-text, #ffffff);
    transform: translateZ(10px) translateY(-2px);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35),
                inset 0 1px 0 rgba(6, 214, 160, 0.15);
}

.nxtorigin-mega-promo {
    border: 1px solid var(--nx-border, #101b35);
    border-radius: 14px;
    background: radial-gradient(circle at 80% 15%, color-mix(in srgb, var(--nx-cyan, #22d3ee) 15%, transparent), transparent 38%),
                linear-gradient(145deg, var(--nx-panel-soft, #101b35), var(--nx-bg, #08101f));
    -webkit-backdrop-filter: blur(18px);
    backdrop-filter: blur(18px);
    box-shadow: 0 14px 30px rgba(0, 0, 0, 0.3),
                inset 0 1px 0 rgba(194, 206, 219, 0.06);
}

.nxtorigin-mega-promo-symbol {
    box-shadow: 0 12px 26px rgba(6, 214, 160, 0.22);
}

.nxtorigin-nav-cta {
    padding: 10px 24px;
    border: 0;
    border-radius: 999px;
    background: var(--nx-nav-gradient);
    color: var(--nx-btn-text, #03131a);
    font-size: 0.85rem;
    font-weight: 800;
    box-shadow: 0 4px 0 rgba(0, 0, 0, 0.25),
                0 12px 25px rgba(6, 214, 160, 0.28),
                inset 0 -2px 0 rgba(0, 0, 0, 0.2);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.nxtorigin-nav-cta:is(:hover, :focus-visible, :active) {
	color: var(--nx-btn-text, #03131a);
}

.nxtorigin-nav-cta:hover {
    transform: translateY(-3px) translateZ(10px) scale(1.02);
    box-shadow: 0 5px 0 rgba(0, 0, 0, 0.25),
                0 18px 35px rgba(6, 214, 160, 0.38);
}

.nxtorigin-nav-login {
	color: var(--nx-nav-soft);
}

.nxtorigin-nav-login:is(:hover, :focus-visible, :active) {
	color: var(--nx-link-hover, var(--nx-text, #f8fafc));
}

.nxtorigin-nav-toggle {
    border: 1px solid var(--nx-border, #101b35);
    border-radius: 11px;
    background: var(--nx-bg, #0a1128);
    -webkit-backdrop-filter: blur(14px);
    backdrop-filter: blur(14px);
    box-shadow: inset 0 1px 0 rgba(194, 206, 219, 0.08);
}

@media (max-width: 850px) {
    .nxtorigin-nav-shell {
        width: calc(100% - 14px);
        margin-top: 6px;
        transform: none !important;
    }
    .nxtorigin-nav-shell:hover {
        transform: none !important;
    }
    .nxtorigin-nav-links {
        border: 1px solid var(--nx-border, #101b35);
        border-radius: 14px;
        background: var(--nx-panel, #0b1329);
        -webkit-backdrop-filter: blur(28px) saturate(145%);
        backdrop-filter: blur(28px) saturate(145%);
        box-shadow: 0 4px 0 var(--nx-bg, #030711),
                    0 28px 58px rgba(0, 0, 0, 0.55),
                    inset 0 -3px 0 var(--nx-bg, #030711);
    }
}

@keyframes nxtoriginNavSweep {
    0%, 18% { background-position: 140% 0; opacity: 0; }
    28% { opacity: 0.8; }
    52% { background-position: -140% 0; opacity: 0; }
    100% { background-position: -140% 0; opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .nxtorigin-nav-shell,
    .nxtorigin-nav-shell:hover,
    .nxtorigin-nav-shell::before {
        animation: none !important;
        transform: none !important;
        transition: none !important;
    }
}

/* Identity forms presented as an account popup from the guest navigation. */
.nxtorigin-auth-modal {
	width: min(650px, calc(100% - 24px));
	max-width: none;
	max-height: min(90vh, 820px);
	margin: auto;
	padding: 0;
	overflow: auto;
	border: 1px solid var(--nx-border, #243a56);
	border-radius: 18px;
	background: var(--nx-panel, #0b1329);
	color: var(--nx-text, #ffffff);
	box-shadow: 0 36px 90px rgba(0, 0, 0, 0.72), inset 0 1px 0 rgba(255, 255, 255, 0.08);
	color-scheme: dark;
}

.nxtorigin-auth-modal:not([open]) {
	display: none;
}

.nxtorigin-auth-modal--event-registration.is-registration-panel {
	width: min(1080px, calc(100% - 24px));
}

.nxtorigin-auth-modal::backdrop {
	background: rgba(3, 7, 17, 0.78);
	-webkit-backdrop-filter: blur(10px);
	backdrop-filter: blur(10px);
}

.nxtorigin-auth-modal__surface {
	background:
		radial-gradient(circle at 92% 0, color-mix(in srgb, var(--nx-cyan, #22d3ee) 12%, transparent), transparent 34%),
		radial-gradient(circle at 0 100%, color-mix(in srgb, var(--nx-emerald, #06d6a0) 8%, transparent), transparent 34%),
		var(--nx-panel, #0b1329);
}

.nxtorigin-auth-modal__toolbar {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 14px;
	border-bottom: 1px solid var(--nx-border, #243a56);
	background: color-mix(in srgb, var(--nx-panel, #0b1329) 94%, transparent);
	-webkit-backdrop-filter: blur(18px);
	backdrop-filter: blur(18px);
}

.nxtorigin-auth-modal__tabs {
	display: flex;
	gap: 5px;
	min-width: 0;
}

.nxtorigin-auth-modal .nxtorigin-auth-modal__tab,
.nxtorigin-auth-modal .nxtorigin-auth-modal__close {
	-webkit-appearance: none;
	appearance: none;
	border: 0;
	font: inherit;
	cursor: pointer;
}

.nxtorigin-auth-modal .nxtorigin-auth-modal__tab {
	min-height: 38px;
	padding: 8px 13px;
	border-radius: 9px;
	background: transparent;
	color: var(--nx-text-soft, #c2cedb);
	font-size: 13px;
	font-weight: 750;
}

.nxtorigin-auth-modal .nxtorigin-auth-modal__tab:hover,
.nxtorigin-auth-modal .nxtorigin-auth-modal__tab:focus-visible {
	background: color-mix(in srgb, var(--nx-text, #ffffff) 6%, transparent);
	color: var(--nx-text, #ffffff);
}

.nxtorigin-auth-modal .nxtorigin-auth-modal__tab.is-active {
	background: color-mix(in srgb, var(--nx-emerald, #06d6a0) 12%, transparent);
	color: var(--nx-emerald, #06d6a0);
}

.nxtorigin-auth-modal .nxtorigin-auth-modal__close {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	margin-left: auto;
	padding: 0;
	border-radius: 9px;
	background: color-mix(in srgb, var(--nx-text, #ffffff) 5%, transparent);
	color: var(--nx-text-soft, #c2cedb);
	font-size: 25px;
	line-height: 1;
}

.nxtorigin-auth-modal .nxtorigin-auth-modal__close:hover,
.nxtorigin-auth-modal .nxtorigin-auth-modal__close:focus-visible {
	background: color-mix(in srgb, var(--nx-rose, #f43f5e) 14%, transparent);
	color: var(--nx-text, #ffffff);
}

.nxtorigin-auth-modal :is(.nxtorigin-auth-modal__tab, .nxtorigin-auth-modal__close):focus-visible {
	outline: 2px solid var(--nx-cyan, #22d3ee);
	outline-offset: 2px;
}

.nxtorigin-auth-modal .nxi-shell {
	max-width: none;
	margin: 0;
	padding: 18px;
}

.nxtorigin-auth-modal .nxi-card {
	padding: 22px;
	border: 0;
	background: transparent;
}

.nxtorigin-auth-modal .nxi-card h1 {
	font-size: clamp(25px, 5vw, 30px);
}

@media (max-width: 560px) {
	.nxtorigin-auth-modal {
		width: calc(100% - 14px);
		max-height: calc(100vh - 14px);
		border-radius: 14px;
	}

	.nxtorigin-auth-modal--event-registration.is-registration-panel {
		width: calc(100% - 14px);
	}

	.nxtorigin-auth-modal__toolbar {
		padding: 9px;
	}

	.nxtorigin-auth-modal .nxtorigin-auth-modal__tab {
		padding-inline: 10px;
		font-size: 12px;
	}

	.nxtorigin-auth-modal .nxi-shell {
		padding: 8px;
	}

	.nxtorigin-auth-modal .nxi-card {
		padding: 14px;
	}
}

/* Keep every authenticated header control inside a true 390px viewport. The
   account dropdown still exposes the full identity; only its trigger becomes
   avatar-only while the notification bell remains a separate control. */
@media (max-width: 520px) {
	.nxtorigin-nav-inner {
		gap: 6px;
		padding-inline: 10px;
	}

	.nxtorigin-nav-logo {
		width: 140px;
		flex-basis: 140px;
	}

	.nxtorigin-nav-actions,
	.nxtorigin-nav-account {
		min-width: 0;
	}

	.nxtorigin-nav-actions {
		gap: 4px;
	}

	.nxtorigin-nav-account .nxAdminAccountMenu:not(.nxAdminAccountMenu--guest) .nxAdminAccountTriggerName {
		display: none;
	}

	.nxtorigin-nav-account .nxAdminAccountMenu:not(.nxAdminAccountMenu--guest) > button.nxAdminAccountTrigger {
		grid-template-columns: 28px 15px !important;
		column-gap: 5px !important;
		width: auto;
		padding-inline: 8px;
	}

	.nxtorigin-nav-account .nxAdminAccountMenu:not(.nxAdminAccountMenu--guest) > button.nxAdminAccountTrigger .nxAdminAccountChevron {
		grid-column: 2;
	}

	.nxtorigin-nav-toggle {
		flex: 0 0 42px;
	}
}

/* ── Get Started ───────────────────────────────────────────────────────────
 * The call-to-action position is a menu, not a single link. The trigger keeps
 * the pill treatment .nxtorigin-nav-cta already owned, and the panel is its own
 * narrow card rather than a mega menu: it sits at the right edge of the bar, so
 * a centred wide panel would run off screen.
 * ------------------------------------------------------------------------- */

.nxtorigin-nav-cta-item {
	position: relative;
	display: flex;
}

button.nxtorigin-nav-cta {
	gap: 8px;
	font: inherit;
	font-size: 0.85rem;
	font-weight: 800;
	white-space: nowrap;
	cursor: pointer;
}

/* The trigger's shared hover/focus rules paint a translucent nav-link surface,
   which would erase the gradient. The pill keeps its own. */
.nxtorigin-nav-cta-item .nxtorigin-nav-trigger,
.nxtorigin-nav-cta-item:hover .nxtorigin-nav-trigger,
.nxtorigin-nav-cta-item.is-open .nxtorigin-nav-trigger {
	border: 0;
	background: var(--nx-nav-gradient);
	color: var(--nx-btn-text, #03131a);
}

/* Chevron sizing and its open-state rotation already come from the shared
   .nxtorigin-nav-trigger rules, which both copies match. */

.nxtorigin-nav-cta-menu {
	position: absolute;
	top: calc(100% + 13px);
	right: 0;
	z-index: 5;
	width: min(320px, calc(100vw - 34px));
	display: grid;
	gap: 4px;
	padding: 10px;
	visibility: hidden;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
	border: 1px solid var(--nx-nav-glass-border);
	border-radius: 16px;
	background: var(--nx-nav-glass-solid);
	-webkit-backdrop-filter: blur(28px) saturate(145%);
	backdrop-filter: blur(28px) saturate(145%);
	box-shadow: 0 34px 75px rgba(0, 0, 0, 0.55),
	            inset 0 1px rgba(255, 255, 255, 0.18);
}

.nxtorigin-nav-cta-item.is-open > .nxtorigin-nav-cta-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.nxtorigin-nav-cta-action {
	display: grid;
	grid-template-columns: 34px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	padding: 10px;
	border: 1px solid transparent;
	border-radius: 11px;
	color: var(--nx-nav-text);
	text-decoration: none;
	transition: 0.22s;
}

/* The same hover the mega-menu items use: emerald-tinted, lifted, brighter.
   The explicit colours are load-bearing — the theme's own `a:hover` rule
   out-specifies a bare class selector, so without them the hovered title is
   repainted in the theme's link colour and goes dark against this panel. */
.nxtorigin-nav-cta-action:hover,
.nxtorigin-nav-cta-action:focus-visible {
	transform: translateY(-2px);
	border-color: color-mix(in srgb, var(--nx-emerald, #06d6a0) 22%, transparent);
	background: color-mix(in srgb, var(--nx-emerald, #06d6a0) 7.5%, transparent);
	color: var(--nx-text, #fff);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.28),
	            inset 0 1px rgba(255, 255, 255, 0.04);
}

.nxtorigin-nav-cta-action:hover strong,
.nxtorigin-nav-cta-action:focus-visible strong {
	color: var(--nx-text, #fff);
}

.nxtorigin-nav-cta-action:hover small,
.nxtorigin-nav-cta-action:focus-visible small {
	color: var(--nx-nav-soft);
}

.nxtorigin-nav-cta-action:hover .nxtorigin-nav-cta-icon,
.nxtorigin-nav-cta-action:focus-visible .nxtorigin-nav-cta-icon {
	background: color-mix(in srgb, var(--nx-nav-cyan) 20%, transparent);
	transform: scale(1.06);
}

.nxtorigin-nav-cta-icon {
	display: grid;
	transition: 0.22s;
	place-items: center;
	width: 34px;
	height: 34px;
	border-radius: 10px;
	background: color-mix(in srgb, var(--nx-nav-cyan) 13%, transparent);
	color: var(--nx-nav-cyan);
}

.nxtorigin-nav-cta-icon svg {
	width: 18px;
	height: 18px;
}

.nxtorigin-nav-cta-action strong,
.nxtorigin-nav-cta-action small {
	display: block;
}

.nxtorigin-nav-cta-action strong {
	color: var(--nx-nav-text);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.3;
}

.nxtorigin-nav-cta-action small {
	margin-top: 2px;
	color: var(--nx-nav-soft);
	font-size: 11px;
	line-height: 1.4;
}

/* One copy at a time: the hamburger mirror stays out of the way until the
   width at which the pill is dropped from the bar. */
.nxtorigin-nav-cta-inline {
	display: none;
}

@media (max-width: 850px) {
	.nxtorigin-nav-cta-item {
		position: static;
	}

	.nxtorigin-nav-cta-menu {
		right: 12px;
		left: 12px;
		width: auto;
	}
}

@media (max-width: 520px) {
	.nxtorigin-nav-cta-item {
		display: none;
	}

	.nxtorigin-nav-cta-inline {
		display: block;
	}

	/* Inside the hamburger panel the actions read as a list, matching how the
	   mega menus already collapse there. */
	.nxtorigin-nav-cta-inline .nxtorigin-nav-cta-menu {
		position: static;
		width: 100%;
		display: none;
		margin: 3px 0 8px;
		visibility: visible;
		opacity: 1;
		transform: none;
		border-radius: 12px;
		box-shadow: inset 0 1px rgba(255, 255, 255, 0.09);
	}

	.nxtorigin-nav-cta-inline.is-open > .nxtorigin-nav-cta-menu {
		display: grid;
	}
}
